Estoy tratando de restaurar un volcado sin tener los roles apropiados en la base de datos receptora.
Como se ha mencionado aquí , sino también aquí , es necesario tener la --no-owner
como una opción, ya sea en pg_dump
o pg_restore
o ambos
He usado la siguiente línea de comando para crear mi volcado
"C:\Program Files\PostgreSQL\9.3\bin\pg_dump.exe" --no-owner -Ft --dbname=postgresql://avo******:AV0******[email protected]:5432/BI_DB > K:\BI\backup\sort\bck_%timestamp%.tar
La línea de restauración es la siguiente.
"C:\Program Files\PostgreSQL\9.3\bin\pg_restore.exe" --host localhost --port 5432 --username "postgres" --dbname "BI_TEST2" --no-password --no-owner --role=postgres --exit-on-error --verbose "D:\D\avo\backup\bck_04042017_1410.tar"
Como puede ver, ambos tienen la --no-owner
opción, pero finalmente, tengo el siguiente error
Lo que me molesta terriblemente es el registro a continuación
pg_restore: [programme d'archivage (db)] Erreur pendant le traitement de la TOC (« PROCESSING TOC ») :
pg_restore: [programme d'archivage (db)] Erreur à partir de l'entrée TOC 2633 ; 0 0 ACL adm avo******
pg_restore: [programme d'archivage (db)] could not execute query: ERREUR: role « avo****** » does not exist
¿Por qué dice que necesita un rol incluso si --no-owner
se especificó?
¿Me he perdido algo?
Anexo: Estoy corriendo en Postgres 9.3
Salud
fuente