PG_DEFAULT_ACL - Amazon Redshift

Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il post del blog.

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 della colonna Tipo di dati Description
defacluser intero 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: funzione

  • 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:

  • a: INSERT (aggiunta)

  • r: SELECT (lettura)

  • w: UPDATE (scrittura)

  • d: DELETE

  • R: RULE

  • x: concede il privilegio di creazione di un vincolo di chiave esterna (REFERENCES).

  • t: TRIGGER

  • X: EXECUTE

  • U: USAGE

  • C: CREATE

  • T: CREATE TEMP

  • D: DROP

  • P: TRUNCATE

  • A: ALTER

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

Una stringa che contiene tutti i caratteri del codice di privilegio, ordinati per posizione della maschera di bit, ha l’aspetto “arwdRxtXUCTDPA”.

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.