Restaurando um postgresql de um dump se um login com o mesmo nome não existir

2

Em um servidorA eu tenho um banco de dados postgresql com um usuário user_a. Eu fiz um despejo disso:

pg_dump postgres > db1.bak

Em um servidorB eu tenho um banco de dados com um usuário user_b. Eu tentei restaurar um banco de dados do despejo feito no serverA e ele falhou:

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

Eu realmente tenho que criar user_a no serverB? Eu quero evitar isso porque em um serverB eu quero ter apenas user_b.

Existe uma solução para isso?

    
por Jodari 20.08.2017 / 14:17

2 respostas

2

Eu usaria um nome de usuário comum para a função de backup.

Imagine se algum dia você tiver serverC ...

    
por 20.08.2017 / 14:40
1

Você pode criar user_a apenas para importar, fazer a importação, alterar o proprietário do banco de dados importado para user_b e, em seguida, soltar user_a.

    
por 20.08.2017 / 14:24