postgresql 用pg_restore将备份文件导入到指定的table

yukang_ky 2010-04-13 10:41:06
%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.
...全文
356 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
trainee 2010-04-14
  • 打赏
  • 举报
回复
POSTGRE_HOME%\bin\psql -d BBB -U pgdev < type AAA.sql
ccat 2010-04-14
  • 打赏
  • 举报
回复
不需要type,直接 < 后面是文件名
yukang_ky 2010-04-13
  • 打赏
  • 举报
回复
用psql执行恢复时能将数据导入到指定的table中吗?
trainee 2010-04-13
  • 打赏
  • 举报
回复
pg_dump有2种格式,archive格式, 要加参数 -Fc, 用pg_restore恢复
明文格式,用psql执行恢复
yukang_ky 2010-04-13
  • 打赏
  • 举报
回复
%POSTGRE_HOME%\bin\psql -d BBB -U pgdev < copy table2 to 'd:\AAA.csv'
将文件输出到d:\ ,还是报系统找不到指定的文件

请问是什么原因?
ccat 2010-04-13
  • 打赏
  • 举报
回复
COPY输出的是CSV
yukang_ky 2010-04-13
  • 打赏
  • 举报
回复
set SCRIPT_HOME=.\

%POSTGRE_HOME%\bin\pg_dump -a -t table1 AAA> %SCRIPT_HOME%\AAA.sql
%POSTGRE_HOME%\bin\psql -d BBB -U pgdev < copy table2 to 'AAA.sql'

换了种方式,但是报错:系统找不到指定的文件,copy table2 to 'AAA.sql'这样写有错误吗?
我换成copy table2 to %SCRIPT_HOME%\'AAA.sql'也不行
请教一下,这个东西我今天才接触,有写陌生

ccat 2010-04-13
  • 打赏
  • 举报
回复
印象里这种方式不能按table恢复,你试试c模式

56,685

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧