添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

如何解决还原PostgreSQL数据库时的权限问题

内容来源于 Stack Overflow,遵循 CC BY-SA 4.0 许可协议进行翻译与使用。IT领域专用引擎提供翻译支持

腾讯云小微IT领域专用引擎提供翻译支持

原文
Stack Overflow用户 提问于2012-11-16

我使用以下命令为Postgres数据库转储了一个干净的、无所有者的备份

pg_dump sample_database -O -c -U

稍后,当我使用以下命令恢复数据库时

psql -d sample_database -U app_name

但是,我遇到了几个错误,这些错误使我无法恢复数据:

ERROR:  must be owner of extension plpgsql
ERROR:  must be owner of schema public
ERROR:  schema "public" already exists
ERROR:  must be owner of schema public
CREATE EXTENSION
ERROR:  must be owner of extension plpgsql

我深入研究了SQL pg_dump 生成的纯文本,发现其中包含SQL。

CREATE SCHEMA public;
COMMENT ON SCHEMA public IS 'standard public schema';
CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;