Pregunta

He estado jugando con PostgreSQL últimamente, y estoy teniendo problemas para entender cómo hacer copias de seguridad y restaurar una sola tabla.

He utilizado pgadmin3 hacer copias de seguridad de una sola tabla en mi base de datos, con el fin de copiarlo en un servidor diferente. Cuando intento hacer una pg_restore en el archivo, recibo mensajes de error diciendo que la secuencia no existe:

pg_restore: [archiver (db)] could not execute query: ERROR:  relation "businesses_id_seq" does not exist
    Command was: 
CREATE TABLE businesses (
    id integer DEFAULT nextval('businesses_id_seq'::regclass) NOT NULL,
    name character varyin...

Parece que el archivo de volcado no incluía la secuencia automática para mi columna de incremento. ¿Cómo llego a incluir eso?

¿Fue útil?

Solución

dumping de tabla sólo - volcará sólo la tabla. Es necesario para volcar la secuencia por separado, además de la mesa.

Si usted no sabe la secuencia se puede enumerar con \d yourtable en psql. Verá algo en la fila de la secuencia es el que se parece a: nextval('yourtable_id_seq'::regclass')

A continuación, desde la línea de comandos, pgdump -t yourtable_id_seq

http://www.postgresql.org/docs/9.0/ estático / app-pgdump.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top