恢复Postgresql转储文件

时间:2013-03-01 09:52:13

标签: postgresql restore dump

我需要恢复一个Postgresql转储文件以从中获取一些数据(注意之前从未使用过Postgresql)

我尝试使用以下命令行(填写相关详细信息)

psql -U {user-name} -d {desintation_db}-f {dumpfilename.sql}

最初看起来它正在发挥作用,很多下降和改变闪烁。但它结束了,没有任何东西在数据库中。查看转储文件,看起来它实际上并没有结束。

我还尝试在SQL编辑器中打开转储文件并在我的数据库上执行它,但是在这个文件的一个简短方法中它出现错误,“此处或附近”语法错误为“1”

--
-- Data for Name: admin_groups; Type: TABLE DATA; Schema: public; Owner: postgres
--

COPY admin_groups (ref, title, is_locked, created, updated) FROM stdin;
1   Default t   2011-05-25 15:13:46.474025  2011-05-25 15:13:46.474025
2   Root    t   2011-05-25 15:13:54.137801  2011-05-25 15:13:54.137801
\.

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

这最终对我有用

psql -f {dump file name} {db name}

答案 1 :(得分:1)

对于Postgresql中的恢复数据库转储文件,请使用此sql命令

pg_restore -p 5433 -U postgres -d databasename  -v "/var/tmp/dumpfilename.dump"

对于Postgresql中的转储数据库,请使用此SQL命令

pg_dump -p 5433 -U postgres -F c -b -v -f "/var/tmp/dumpfilename.dump" databasename

这里的端口号(5433)基于我们使用的端口号安装了哪个端口号。