De la CREATE ROLE
documentación :
Tenga en cuenta que los roles se definen en el nivel del clúster de la base de datos, por lo que son válidos en todas las bases de datos del clúster.
Como pg_dump
volca una sola base de datos, no puede extraer roles con esa utilidad. El pg_dumpall --roles-only
comando que propuso hará el trabajo; sin embargo, es posible que necesite filtrar su salida para que solo se creen los roles deseados en el nuevo clúster.
Los roles se almacenan en el pg_authid
catálogo, que se almacena físicamente en la data/global/
subcarpeta de una instalación de PostgreSQL, junto con las otras tablas de todo el clúster. Puede consultar el contenido a pg_authid
través de la pg_roles
vista.
NOTA : necesitará derechos de superusuario para volcar los roles. De lo contrario, se obtendría un permiso denegado en SELECT
el pg_authid
- e incluso cuando un superusuario otorga SELECT
derechos, se obtendría el mismo error. En este caso, sin embargo, puede enumerar los roles al consultarlos pg_authid
directamente COPY
en un archivo y hacer un poco de magia para crear las declaraciones CREATE ROLE
y ALTER ROLE
declaraciones necesarias .