Я делал резервное копирование в базе данных на другом сервере и имел другую роль, чем мне нужно, с помощью этой команды:
pg_dump -Fc db_name -f db_name.dump
Затем я скопировал резервную копию на другой сервер, где мне нужно восстановить базу данных, но нет такого владельца, который использовался для этой базы данных. Пусть говорят, что у базы данных есть владелец owner1
, но на другом сервере у меня есть только owner2
, и мне нужно восстановить эту базу данных и изменить владельца.
Что я сделал на другом сервере при восстановлении:
createdb -p 5433 -T template0 db_name
pg_restore -p 5433 --role=owner2 -d db_name db_name.dump
Но когда выполняется восстановление, я получаю следующие ошибки:
pg_restore: [archiver (db)] could not execute query: ERROR: role "owner1" does not exist
Как я могу указать его, чтобы он менял владельца? Или это невозможно?