我需要恢复一个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
\.
有什么想法吗?
答案 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)基于我们使用的端口号安装了哪个端口号。