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?

Foi útil?

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

http://www.postgresql.org/docs/9.0/static/app-pgdump.html

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top