【发布时间】:2018-06-30 12:37:52
【问题描述】:
我得到了一个数据库文件,我不知道转储它的用户 ID 或它的权限。
我使用带有 pg_admin4(v3.0) 的 postgresql 9.6.7-1,操作系统:windows 10
首先,我在 pgadmin 中创建了一个与给定文件同名的数据库。
我使用
restore选项恢复文件,但几秒钟后
我收到的消息类型如下:
pg_restore: executing SEQUENCE SET xxxx
pg_restore: [archiver (db)] Error from TOC entry 4309; 0 0 SEQUENCE SET xxxx postgres
pg_restore: [archiver (db)] could not execute query: ERROR: relation "public.xxxx" does not exist
LINE 1: SELECT pg_catalog.setval('public.xxxx', 1, false);
^
Command was: SELECT pg_catalog.setval('public.xxxx', 1, false);
最重要的是,警告:
“警告:还原时忽略错误:62”
与其他人的答案相比,我什至没有恢复一点数据。
我也试过了
pg_restore
命令,但我得到相同的结果。
【问题讨论】:
-
被忽略的62个错误是什么?
-
我添加了错误类型作为我的问题的编辑
-
也许 'xxxx' 存在,但在不同的架构中?在脚本中,了解如何/是否创建了 xxxx。
-
正如我所见,这些警告的前半部分具有相似的输出,但使用命令“COPY” public.xxxx (column1,column2,...) FROM stdin;而不是“选择”。到目前为止,还没有关于“创造”的任何信息。当你的意思是不同的模式时,你的意思是不同的数据库? .
-
不,当我说
schema时,我的意思是 schema。并且:select setval('xxxx', 1234);通常添加在加载脚本的末尾,以将序列值设置为相应表列中的最大出现次数。
标签: postgresql psql pgadmin-4