PG_DUMP IGNORAGEM TABLE SEQUENCE?
-
25-09-2019 - |
Pergunta
Ultimamente, tenho brincado com o PostgreSQL e estou tendo problemas para entender como fazer backup e restaurar uma única tabela.
Usei o PGADMIN3 para fazer backup de uma única tabela no meu banco de dados, para copiá -lo para um servidor diferente. Quando tento fazer um pg_restore no arquivo, recebo mensagens de erro dizendo que a sequência não 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 o arquivo de despejo não incluiu a sequência da minha coluna de incremento automático. Como faço para incluir isso?
Solução
Dumping Somente pela tabela - despejará apenas a tabela. Você precisa despejar a sequência separadamente, além da tabela.
Se você não conhece sua sequência, pode listá -la \d yourtable
em psql. Você verá algo na fila em que sua sequência está em que parece: nextval('yourtable_id_seq'::regclass')
Depois da linha de comando, pgdump -t yourtable_id_seq