PG_DEFAULT_ACL - Amazon Redshift

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

PG_DEFAULT_ACL

Archivia le informazioni sui privilegi di accesso predefiniti. Per ulteriori informazioni sui privilegi di accesso predefiniti, consultare ALTER DEFAULT PRIVILEGES.

PG_DEFAULT_ACL è visibile a tutti gli utenti. Gli utenti con privilegi avanzati visualizzano tutte le righe; gli utenti regolari visualizzano solo i propri dati. Per ulteriori informazioni, consultare Visibilità dei dati nelle tabelle e nelle viste di sistema.

Colonne di tabella

Nome colonna Tipo di dati Descrizione
defacluser integer ID dell'utente a cui si applicano i privilegi elencati.
defaclnamespace oid ID oggetto dello schema a cui si applicano i privilegi predefiniti. Se non è specificato alcuno schema, il valore predefinito è 0.
defaclobjtype carattere

Tipo di oggetto al quale si applicano i privilegi predefiniti. I valori validi sono:

  • r–relazione (tabella o vista)

  • f–function

  • p–stored procedure

defaclacl aclitem[]

Stringa che definisce i privilegi predefiniti per l'utente o il gruppo di utenti specificato e il tipo di oggetto.

Se i privilegi vengono concessi a un utente, la stringa ha il formato seguente:

{ username=privilegestring/grantor }

username

Nome dell'utente a cui vengono concessi i privilegi. Se si omette username, i privilegi vengono concessi a PUBLIC.

Se i privilegi vengono concessi a un gruppo di utenti, la stringa ha il formato seguente:

{ "group groupname=privilegestring/grantor" }

privilegestring

Stringa che specifica i privilegi concessi.

I valori validi sono:

  • r–SELECT (lettura)

  • a–INSERT (aggiunta)

  • w–UPDATE (scrittura)

  • d–DELETE

  • x-Concede il privilegio di creazione di un vincolo di chiave esterna (REFERENCES).

  • X—ESEGUI

  • *Indica che l'utente che riceve il privilegio precedente può a sua volta concedere lo stesso privilegio ad altri (WITH GRANT OPTION).

grantor

Nome dell'utente che ha concesso i privilegi.

L'esempio seguente indica che l'utente admin ha concesso tutti i privilegi, incluso WITH GRANT OPTION, all'utente dbuser.

dbuser=r*a*w*d*x*X*/admin

Esempio

La query seguente restituisce tutti i privilegi predefiniti definiti per il database.

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

Il risultato dell'esempio precedente mostra che per tutte le nuove tabelle create dall'utente admin nello schema tickit, admin concede i privilegi SELECT a user1, i privilegi INSERT a group1 e i privilegi UPDATE a user2.