web-dev-qa-db-fra.com

erreur pg_restore toc

j'utilisais la syntaxe suivante pour pg_dump et restaurer

pg_dump eval --inserts -b -c --encoding UTF8 -Fc -f eval.sql.tar.gz -x -U postgres
createdb -T template0 test -U postgres
pg_restore -d test eval.sql.tar.gz -e -U postgres

le vidage a été réussi sans erreur, mais la restauration fait quelques erreurs, je suis en train de vider et de restaurer sur la même machine avec le même utilisateur et tous les privilèges ...

j'ai essayé avec d'autres formats aussi, plain, tar, compressé tout obtient la même erreur ..

ma version de pg est 8.4.11 et la version psql est 8.4.11

je ne sais pas ce qui fait ces erreurs .. quelqu'un peut-il m'aider

 pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 4965; 0 138871 TABLE DATA ir_act_report_xml insigni
pg_restore: [archiver (db)] could not execute query: ERROR:  invalid input syntax for integer: "purchase.order"
LINE 1: ...st for Quotation', 'ir.actions.report.xml', NULL, 'purchase....
                                                             ^
    Command was: INSERT INTO ir_act_report_xml VALUES (350, 'Request for Quotation', 'ir.actions.report.xml', NULL, 'purchase.order', 'purcha...
25
MAHI

cela a fait l'affaire

pg_dump database_name -c -Ft -f file_name.tar 

pg_restore -d database_name -c file_name.tar

avant cela, j'essayais de restaurer sans inclure -c (propre)

même si -c est inclus dans pg_dump, il n'est pas utilisé dans pg_restore sauf si nous disons d'utiliser ...

30
MAHI

La solution dans mon cas:

pg_restore --verbose --clean --no-acl --no-owner -h localhost -U username -d database_name dump_name.dump
19
AkashP