Hice una copia de seguridad en la base de datos en un servidor diferente y ese 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 tal propietario que se utilizó para esa base de datos. Digamos que la base de datos tiene propietario owner1, pero en un servidor diferente solo tengo owner2y necesito restaurar esa base de datos y cambiar de 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?

--no-ownerlo sugerido en la respuesta aceptada, es posible que también necesite--no-privileges. Ver esta respuestaRespuestas:
Debe usar la
--no-owneropción, esto deja depg_restoreintentar establecer la propiedad de los objetos en el propietario original. En cambio, los objetos serán propiedad del usuario especificado por--rolecreatedb -p 5433 -T template0 db_name pg_restore -p 5433 --no-owner --role=owner2 -d db_name db_name.dumppg_restore doc
fuente
pg_dump --no-ownertambién debería hacerlo--roleun propietario diferente, todavía estaba tratando de usar el propietario original (pero luego no lo usé--no-owner.