我得到了一个数据库文件,我不知道转储它的用户 ID 或它的权限。
我使用 postgresql 9.6.7-1 和 pg_admin4(v3.0) ,操作系统:windows 10
首先,我在 pgadmin 中创建了一个与给定文件同名的数据库。
我使用
恢复
选项恢复文件,但几秒钟后
我收到的消息类型如下:
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);
最重要的是,警告:
"WARNING: errors ignored on restore: 62"
与其他人的答案相比,我什至没有恢复任何数据。
我也尝试过
pg_restore
命令但我得到相同的结果。
最佳答案
看来您获得的转储不是完整的备份。它只有数据,没有对象定义。也就是说,它是由 pg_dump 使用 -a
、--data-only
或 --section=data
创建的。
除非您已经知道来自其他来源的对象定义(例如,具有相同架构定义的现有数据库服务器,或使用 pg_dump -s
生成的转储文件),否则您将拥有加载此数据很困难。
关于postgresql - pg_restore 警告 : errors ignored on restore: 62,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51114997/