pg_dump ignorando secuencia de mesa?
-
25-09-2019 - |
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?
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