我只是尝试在这里找到的解决方案:https://stackoverflow.com/questions/31469008/postgresql-backup-database-and-restore-on-different-owner
但我仍然遇到关于不存在的对象所有者的错误。
我做什么:
pg_dump -F c -f fnam.sql.tgz -h postgresql.bizinnov.net -U bizinnov bizinnov_fnam
pg_restore -F c --clean --no-owner --role=fnam -h localhost -U fnam -d fnam_db1 fnam.sql.tgz
我得到的是:
pg_restore: [archiver (db)] 来自 TOC 条目 148 的错误;1259 408716672 SEQUENCE auth_group_id_seq bizinnov
pg_restore:[archiver (db)] 无法执行查询:错误:序列“auth_group_id_seq”不存在命令是:DROP SEQUENCE public.auth_group_id_seq;
pg_restore: [archiver (db)] 来自 TOC 条目 149 的错误;1259 408716674 TABLE auth_group bizinnov
pg_restore:[archiver(db)] 无法执行查询:错误:表“auth_group”不存在命令是:DROP TABLE public.auth_group;
pg_restore:[archiver (db)] 来自 TOC 条目 6 的错误;2615 2200 SCHEMA public postgres
pg_restore:[archiver (db)] 无法执行查询:错误:必须是架构公共的所有者命令是:DROP SCHEMA public;
pg_restore:[archiver (db)] 无法执行查询:错误:架构“public”已存在命令是:CREATE SCHEMA public;
pg_restore:[archiver (db)] 来自 TOC 条目 2029 的错误;0 0 COMMENT SCHEMA public postgres
pg_restore:[archiver (db)] 无法执行查询:错误:必须是架构公共的所有者命令是:COMMENT ON SCHEMA public IS'标准公共架构';
pg_restore:警告:无法撤销“公众”的特权
pg_restore:警告:无法撤销“公众”的特权
pg_restore:警告:未授予“公共”任何权限
pg_restore:[archiver (db)] 来自 TOC 条目 2030 的错误;0 0 ACL 公共 postgres
pg_restore:[archiver(db)] 无法执行查询:错误:角色“bizinnov”不存在 命令是:REVOKE ALL ON SCHEMA public FROM PUBLIC;
撤销 postgres 架构上的所有内容;
授予所有对 SCHEMA 公共的权限
postgres; ... 警告:恢复时忽略的错误:125