PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Déplacer une base de données avec pg_dump et psql -U postgres db_name <... entraîne ERROR :la relation table_name n'existe pas

Passez-vous à la même version de PostgreSQL ? Il peut y avoir des problèmes si vous faites un vidage avec pg_dump 8.3 et essayez de le restaurer dans Postgresql 8.4. Quoi qu'il en soit, en supposant qu'il s'agit de la même version, essayez ce qui suit :

Videz tous les objets globaux, tels que les utilisateurs et les groupes (vous ne savez pas s'ils manquaient dans votre vidage) :

pg_dumpall -g -U postgres > globals.sql

Vider le schéma de la base :

pg_dump -Fp -s -v -f db-schema.sql -U postgres dbname

Vider le contenu de la base de données :

pg_dump -Fc -v -f full.dump -U postgres dbname

Restaurez maintenant.

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

C'est mon 0,02 $. J'espère que ça aide.