Назад | Перейти на главную страницу

Восстановление postgresql из дампа, если логина с таким именем не существует

На serverA у меня есть база данных postgresql с пользователем user_a. Сделал дамп:

pg_dump postgres > db1.bak

На serverB у меня есть база данных с пользователем user_b. Я пытался восстановить базу данных из дампа, сделанного на serverA, и это не удалось:

  psql my_db < db1.bak 
  psql: FATAL:  role "user_b" does not exist

Мне действительно нужно создавать user_a на serverB? Я хочу избежать этого, потому что на serverB я хочу иметь только user_b.

Есть ли этому решение?

Я бы использовал обычное имя пользователя для роли резервного копирования.

Представьте, если у вас когда-нибудь появится serverC ...

Вы можете создать user_a только для импорта, выполнить импорт, изменить владельца импортированной базы данных на user_b, а затем удалить user_a.