Я сбросил чистую резервную копию владельца для базы данных 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;
COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
Я думаю, что причиной является то, что пользователь app_name
не имеет привилегий для изменения схемы public
и plpgsql
.
Как я могу решить эту проблему?