PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Mover um banco de dados com pg_dump e psql -U postgres db_name <... resulta em ERRO:relação table_name não existe


Você está migrando para a mesma versão do PostgreSQL? Pode haver problemas se você fizer um dump com o pg_dump 8.3 e tentar restaurá-lo no Postgresql 8.4. De qualquer forma, supondo que seja a mesma versão tente o seguinte:

Despeje todos os objetos globais, como usuários e grupos (não sei se eles estavam faltando no seu despejo):
pg_dumpall -g -U postgres > globals.sql

Esquema de despejo do banco de dados:
pg_dump -Fp -s -v -f db-schema.sql -U postgres dbname

Despeje o conteúdo do banco de dados:
pg_dump -Fc -v -f full.dump -U postgres dbname

Agora restaure.
psql -f globals.sql
psql -f db-schema.sql dbname
pg_restore -a -d dbname -Fc full.dump

Esse é o meu $ 0,02. Espero que ajude.