pg_restore警告:恢复时忽略错误:62

时间:2018-06-30 12:37:53

标签: postgresql psql pgadmin-4

我得到了一个数据库文件,我不知道谁转储了它的用户ID或它的特权。

我在pg_admin4(v3.0)和OS:Windows 10上使用PostgreSQL 9.6.7-1

  1. 首先,我在pgadmin中创建了一个与给定文件同名的数据库。

  2. 我使用了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

命令,但我得到相同的结果。

2 个答案:

答案 0 :(得分:1)

看来,您获得的转储不是完整的备份。它仅具有数据,而没有对象定义。也就是说,它是由pg_dump使用-a--data-only--section=data创建的。

除非您已经知道对象定义来自其他来源(例如,具有相同架构定义的现有数据库服务器,或使用pg_dump -s生成的转储文件),否则将很难加载此对象数据。

答案 1 :(得分:-1)

{已解决} 请检查要导入到数据库中的Postgresql pgAdmin4的版本和“ .Sql” 文件的 版本,而不要还原在公开场合,您应该直接在数据库本身上进行还原。

2:-删除数据库,然后再次在同一数据库上重新创建新的数据库(name ='xyz') >'xyz'**-> RightClick->还原->文件名->'选择(形成“ .sql”)->还原**)比-> 刷新数据库。 并以此在公共模式上方创建一个新模式。