database - postgres - rds cluster
Postgresql: ¿hacer una copia de seguridad de la base de datos y restaurarla en un propietario diferente? (1)
Debería usar la
--no-owner
, esto detiene
pg_restore
intentar establecer la propiedad de los objetos para el propietario original.
En cambio, los objetos serán propiedad del usuario especificado por
--role
createdb -p 5433 -T template0 db_name
pg_restore -p 5433 --no-owner --role=owner2 -d db_name db_name.dump
Hice una copia de seguridad en la base de datos en un servidor diferente y tiene un rol diferente al que necesito, con este comando:
pg_dump -Fc db_name -f db_name.dump
Luego copié la copia de seguridad en otro servidor donde necesito restaurar la base de datos, pero no existe ese propietario que se utilizó para esa base de datos.
Digamos que la base de datos tiene el propietario
owner1
, pero en un servidor diferente solo tengo el
owner2
y necesito restaurar esa base de datos y cambiar el propietario.
Lo que hice en otro servidor al restaurar:
createdb -p 5433 -T template0 db_name
pg_restore -p 5433 --role=owner2 -d db_name db_name.dump
Pero cuando se ejecuta la restauración, obtengo estos errores:
pg_restore: [archiver (db)] could not execute query: ERROR: role "owner1" does not exist
¿Cómo puedo especificarlo para que cambie de propietario? ¿O es imposible?