恢复多个表postgresql pg_dump

时间:2018-01-30 19:37:11

标签: postgresql

我有一个包含多个表的数据库,我想将选择的数据和结构添加到包含已有不同表的不同数据库中。

我已按以下方式创建了转储文件:

"C:\Program Files\PostgreSQL\9.1\bin\pg_dump.exe" -U postgres -w DBName -t table1 -t Table2 -t Table3 > "E:\Dump.sql"

这很好用,我有E:\ Dump.sql,其中包含三个表的转储。 我尝试使用以下代码进行恢复:

"C:\Program Files\PostgreSQL\9.6\bin\pg_dump.exe" -C -U User -t table1 -t Table2 -t Table4 destdb < Dump.sql

但我收到了错误

  

找不到匹配的表格

我在哪里做错了?

1 个答案:

答案 0 :(得分:1)

https://www.postgresql.org/docs/current/static/backup-dump.html

pg_dump用于**备份,手册的下一部分用于恢复备份:

  

pg_dump创建的文本文件旨在由psql读入   程序。恢复转储的常规命令表单是

     

psql dbname < infile

另外你提到三张桌子,其中两张是大小写的 - 为了让它起作用,你必须加倍引用它我相信。但无论如何 - 为你恢复文件将是:

psql YOURDBNAME -f E:\Dump.sql