2012-03-23 14 views
14

yo estaba usando la siguiente sintaxis para pg_dump y restaurarpg_restore error toc

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 

el vertedero fue exitosa, sin errores, pero restauro hace un algunos errores, soy el dumping y la restauración en la misma máquina con el mismo usuario y privilegio todo ...

he probado con otros formatos también, llano, alquitrán, comprimido todo obtiene el mismo error ..

mi versión de PG es 8.4.11 y 8.4.11 versión psql es

No estoy seguro de lo que hace que estos errores .. alguien me puede ayudar a

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... 
+1

Parece que volcado es una secuencia de comandos SQL que necesita ser ejecutado usando psql, no pg_r estore –

Respuesta

18

este hizo el truco

pg_dump database_name -c -Ft -f file_name.tar 

pg_restore -d database_name -c file_name.tar 

antes de esto yo estaba tratando de restablecer la salida incluyendo -c (limpia)

aunque -c se incluye en pg_dump no se utiliza en pg_restore a menos que digamos a utilizar ...

+2

+1 para el indicador '-c'. – Jonah

+4

Usar el indicador de "limpieza" también puede causar muchos problemas, ya que se quejará de objetos faltantes al usar una nueva base de datos. – cslotty

Cuestiones relacionadas