Wednesday, June 18, 2008

Re: [pgsql-es-ayuda] Copia y restauracion de base de datos de GForge

El módulo de tsearch2, viene en un paquete de centos llamado postgresql-contrib, y lo he encontrado instalado en:
/usr/share/pgsql/contrib/tsearch2.sql
He estado mirando un manual acerca de la instalación de tsearch2 en postgresql, y he encontrado este: http://denisjtorresg.blogspot.com/2008/04/instalar-tsearsh2-en-postgresql-con.html
Tendría que insertar las tablas y datos del fichero /usr/share/pgsql/contrib/tsearch2.sql en la base de datos, antes de insertar todos los datos..., sería algo así (en mi caso):
psql -d $BBDD -f  /usr/share/pgsql/contrib/tsearch2.sql
Pero como todo no podía ser tan bonito, si inserto esas tablas y esos datos antes de restaurar la base de datos, cuando la restauro, lo primero que hace es borrar con un drop todos los datos, para dejar la bbdd vacía, así que también vacía los datos insertados de /usr/share/pgsql/contrib/tsearch2.sql.
Como necesito borrar todos los datos existentes anteriormente, he pensado en borrar la base de datos, crearla nueva, y sobre ahí hacer la restauración de la base de datos creada con el pg_dump, sin el -c...

dropdb -U $USERNAME $DBNAME
createdb -T template0 -U $USERNAME $DBNAME


Pero anteriormente cuando contemplé esa opción, leí que era recomendable que se usara la opción del -c al hacer la copia de la base de datos, pero por lo que me parece, no puedo hacerlo si necesito insertar también tsearch2...

Voy más perdido que un hijo ... en el día del padre... :S

Nunca me había dado tantos problemas la copia de una BBDD, también es cierto que nunca era tan compleja y tan poco documentada...

El día 17 de junio de 2008 19:05, Alvaro Herrera <alvherre@commandprompt.com> escribió:
Clemente López Giner escribió:

> psql:/backup/diarias/GForge/backup_17-06-2008/bbdd_GForge_17-06-2008.sql:590:
> ERROR: no existe el tipo «tsvector»

Instala el módulo contrib/tsearch2 en la base de datos antes de
restaurar el respaldo.

Con respecto a pg_dump -c, creo que es mala idea usarlo.  Mejor hacer el
dump sin el -c, y luego darle pg_restore -c pero sólo si los objetos ya
existen.  Si la base de datos está nueva, entonces no tiene sentido usar
-c porque obviamente los objetos no existen.

--
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

No comments: