estoy usando PostgreSQL v9.0.1
con Rails
(y es deps) @v2.3.8
, debido a la utilización de la capacidad de texto completo de postgres, tengo una tabla que se define como:ERROR: debe ser dueño del plpgsql lenguaje
CREATE TABLE affiliate_products ( id integer NOT NULL, name character varying(255), model character varying(255), description text, price numeric(9,2), created_at timestamp without time zone, updated_at timestamp without time zone, textsearch_vector tsvector, );
Observe la última línea, esto asegura que el registro activo no puede procesarlo con el volcador de esquema estándar, así que tengo que establecer config.active_record.schema_format = :sql
en ./config/environment.rb
; y use rake db:test:clone_structure
en lugar de rake db:test:clone
.
Nada de esto es demasiado notable, sólo es inconveniente - sin embargo rake db:test:clone_structure
falla con el error:
ERROR: must be owner of language plpgsql
Debido a la línea #16
en mi resultante ./db/development_schema.sql
:
CREATE OR REPLACE PROCEDURAL LANGUAGE plpgsql;
Bajo PostgreSQL v9.0+
el idioma plpsql
es instalado por el superusuario, al plantilla inicial, que luego está disponible para el esquema recién creado.
No puedo ejecutar pruebas en este proyecto sin resolver esto, e incluso editar manualmente ./db/development_schema.sql
es inútil, ya que se regenera cada vez que ejecute rake db:test:clone_structure
(e ignorado por rake db:test:clone
).
Espero que alguien pueda arrojar algo de luz sobre esto?
Nota: he utilizado tanto la gema pg 0.9.0
adaptador y el postgres
joya en la versión 0.7.9.2008.01.28
- Ambos muestran un comportamiento idéntico.
Mis compañeros de equipo ejecutan PostgreSQL v8.4
donde la instalación del idioma es un paso manual.
He considerado que debería eliminar el lenguaje 'pl/pgsql', e instalarlo manualmente cada vez. –