PG_DEFAULT_ACL
Almacena información acerca de los privilegios de acceso predeterminados. Para obtener más información acerca de los privilegios de acceso predeterminados, consulte ALTER DEFAULT PRIVILEGES.
Todos los usuarios pueden ver PG_DEFAULT_ACL. Los superusuarios pueden ver todas las filas; los usuarios normales solo pueden ver sus datos. Para obtener más información, consulte Visibilidad de datos en las tablas y vistas de sistema.
Columnas de la tabla
Nombre de la columna | Tipo de datos | Descripción |
---|---|---|
defacluser | integer | El ID del usuario al que se aplican los privilegios mencionados. |
defaclnamespace | oid | El ID de objeto del esquema en el que se aplican los privilegios predeterminados. Si no se especifica ningún esquema, el valor predeterminado es 0. |
defaclobjtype | character |
El tipo de objeto al que se aplican los privilegios predeterminados. Los valores válidos son los siguientes:
|
defaclacl | aclitem[] |
Una cadena que define los privilegios predeterminados para el usuario o grupo de usuarios especificados y el tipo de objeto. Si se conceden los privilegios a un usuario, la cadena es de la siguiente forma:
username El nombre del usuario al que se le conceden los privilegios. Si se omite el username (nombre de usuario), los privilegios se conceden como PUBLIC. Si se conceden los privilegios a un grupo de usuarios, la cadena es de la siguiente forma:
privilegestring Una cadena que especifica qué privilegios se conceden. Los valores válidos son:
grantor El nombre del usuario que concedió los privilegios. En el siguiente ejemplo se indica que el usuario
|
Ejemplo
La siguiente consulta devuelve todos los privilegios predeterminados definidos para la base de datos.
select pg_get_userbyid(d.defacluser) as user, n.nspname as schema, case d.defaclobjtype when 'r' then 'tables' when 'f' then 'functions' end as object_type, array_to_string(d.defaclacl, ' + ') as default_privileges from pg_catalog.pg_default_acl d left join pg_catalog.pg_namespace n on n.oid = d.defaclnamespace; user | schema | object_type | default_privileges -------+--------+-------------+------------------------------------------------------- admin | tickit | tables | user1=r/admin + "group group1=a/admin" + user2=w/admin
El resultado en el ejemplo anterior muestra que para todas las tablas nuevas creadas por el usuario admin
en el esquema tickit
, admin
concede los privilegios SELECT a user1
, los privilegios INSERT a group1
y los privilegios UPDATE a user2
.