恢复这样的转储时:
pg_restore --clean --create --exit-on-error --dbname=test test.tar
打印出这些错误消息:
pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 21; 2615 80924 SCHEMA test test
pg_restore: [archiver (db)] could not execute query: ERROR: schema "test" already exists
Command was: CREATE SCHEMA test;
但当:
select schema_name from information_schema.schemata;
这些都打印出来了
schema_name
--------------------
pg_toast
pg_temp_1
pg_toast_temp_1
pg_catalog
public
information_schema
似乎架构“测试”还不存在,为什么我会遇到这种错误?
什么操作系统,postgres转储的版本,恢复到相同的版本?
阅读this article,也许它会有所帮助。
它声明--clean
参数存在一些微不足道的问题,您可能应该尝试手动创建数据库并在没有create和clean选项的情况下恢复它。