日期:2014-05-16  浏览次数:20617 次

postgresql 用pg_restore将备份文件导入到指定的table
%POSTGRE_HOME%\bin\pg_dump -p 5432 -a -d -t table1 -U postgres AAA> %SCRIPT_HOME%\AAA.dat

将数据库AAA的表table1到出到AAA.dat文件中

如何将AAA.dat的数据导入到数据库BBB的表table2中,希望大家指教
%POSTGRE_HOME%\bin\pg_restore -a -i -d BBB -t table2 AAA.dat

这是我写的,但是运行时报错 input file doest not appear to be a valid archive.

------解决方案--------------------
pg_dump有2种格式,archive格式, 要加参数 -Fc, 用pg_restore恢复
明文格式,用psql执行恢复
------解决方案--------------------
印象里这种方式不能按table恢复,你试试c模式
------解决方案--------------------
COPY输出的是CSV
------解决方案--------------------
POSTGRE_HOME%\bin\psql -d BBB -U pgdev < type AAA.sql
------解决方案--------------------
不需要type,直接 < 后面是文件名