我已经使用以下命令为 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
我深入研究了纯文本 SQLpg_dump
生成,发现它包含 SQL
CREATE SCHEMA public;
COMMENT ON SCHEMA public IS 'standard public schema';
CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
我认为原因是用户app_name
没有更改public
架构和plpgsql
.
我该如何解决这个问题?