Recibo el siguiente error cuando intento restaurar un esquema de base de datos de Postgres desde un archivo de volcado .sql creado en otro servidor:
REVOKE psql:backup.sql:158885: ERROR: role "server_name" does not exist
El archivo de volcado se creó usando pg_dump -U username "server_name" -n schema_name > schema_name.sql
¿Cómo puedo crear un archivo de volcado sin rol y/o permisos?
Al utilizar las banderas --no-owner y --no-acl
No emita comandos para establecer la propiedad de los objetos para que coincidan con la base de datos original. De forma predeterminada, pg_restore emite sentencias ALTER OWNER o SET SESSION AUTHORIZATION para establecer la propiedad de los elementos del esquema creados. Estas declaraciones fallarán a menos que la conexión inicial a la base de datos la realice un superusuario (o el mismo usuario que posee todos los objetos en el script). Con -O, se puede usar cualquier nombre de usuario para la conexión inicial y este usuario será el propietario de todos los objetos creados.
Impedir la restauración de los privilegios de acceso (otorgar/revocar comandos):
pg_dump --no-owner --no-acl -U username "server_name" -n schema > schema.sqlhttps://www.postgresql.org/docs/9.2/static/app-pgrestore.html