无法从转储中恢复PostgreSQL数据库

时间:2016-09-29 10:18:07

标签: database postgresql postgresql-9.3

我的电脑使用postgreSQL 9.3运行Ubuntu 14.04

我想从转储文件(转储文件大小= 2.3GB)恢复计算机上名为bigdb的大型PSQL数据库。

转储文件来自另一台计算机,我目前在计算机上没有任何先前版本的数据库。

我创建了一个名为testdb的空数据库,其中我想写"写" bigdb的

我尝试了命令:

$pg_restore -C -d testdb dump.dmp 

它给了我大约300个这种类型的错误:

  

pg_restore:[archiver(db)]来自TOC条目15475的错误; 0 25342表数据tb_italmaj jturf   pg_restore:[archiver(db)]无法执行查询:ERROR:relation" tb_italmaj"不存在       命令是:COPY tb_italmaj(id_mvtmaj,file_name,file_dh,pgdone,pgdonedh,pgfonctrue,pgerrcode,pgerrmess,pgrowdata)FROM stdin;

最后,testdb仍为空。 似乎testdb需要具有相同的结构" (表,...)作为bigdb,但我认为参数" -C"会创建数据库。

我还尝试在普通的txt文件dump.sql中提取转储,我尝试使用以下命令恢复它:

$psql -v ON_ERROR_STOP=1 testdb < dump.sql

此错误立即弹出:

  

错误:关系&#34; id_tab_eed__texte_seq&#34;不存在

同样,似乎需要在恢复它之前创建bigdb的关系,我无法做到这一点。

唯一正确执行的命令是:

$pg_restore -C dump.dmp

但在这种情况下,我的计算机上没有创建数据库。

我一直在努力解决这个问题几个小时。有人能帮助我吗?

提前致谢。

PS:这是我的第一篇文章,我不是母语为英语的人,我希望我很清楚。如果没有,请随时索取补充信息。

0 个答案:

没有答案