Controllo dell'accesso granulare per le sequenze

Questa pagina spiega come funziona il controllo dell'accesso granulare con le sequenze Spanner.

Per gli utenti con controllo dell'accesso dell'accesso granulare, puoi concedere uno o entrambi i seguenti privilegi per consentire l'accesso in lettura alle informazioni della sequenza o generare valori dalla sequenza.

  • Concedi SELECT sulla sequenza per consentire l'accesso in lettura ai parametri e allo stato attuale della sequenza.

    GoogleSQL

    GRANT SELECT ON SEQUENCE SEQUENCE_NAME TO ROLE ROLE_NAME;
    

    PostgreSQL

    GRANT SELECT ON SEQUENCE SEQUENCE_NAME TO ROLE_NAME;
    
  • Concedi UPDATE sulla sequenza per consentire le chiamate al generatore di valori di sequenza.

    GoogleSQL

    GRANT UPDATE ON SEQUENCE SEQUENCE_NAME TO ROLE ROLE_NAME;
    

    PostgreSQL

    GRANT UPDATE ON SEQUENCE SEQUENCE_NAME TO ROLE_NAME;
    

Privilegi richiesti per le operazioni in sequenza

La tabella seguente contiene i dettagli sui privilegi necessari per l'esecuzione di specifiche operazioni di sequenza.

Operazione Requisiti di privilegio

GoogleSQL:

GET_NEXT_SEQUENCE_VALUE()

PostgreSQL:

nextval()

Richiede un privilegio UPDATE o SELECT per la sequenza. Tieni presente che se esegui questa funzione mediante colonne generate o valori predefiniti, devi anche disporre di un privilegio INSERT o UPDATE per la colonna. Un privilegio UPDATE su una sequenza non concede automaticamente alcun privilegio sulle colonne in cui vuoi utilizzare la sequenza.

GoogleSQL:

GET_INTERNAL_SEQUENCE_STATE()

PostgreSQL:

spanner.get_internal_sequence_state()

Richiede il privilegio SELECT per la sequenza richiesta.

GoogleSQL:

INFORMATION_SCHEMA.SEQUENCES
INFORMATION_SCHEMA.SEQUENCE_OPTIONS

PostgreSQL

INFORMATION_SCHEMA.SEQUENCES

Puoi avere il privilegio SELECT o UPDATE per la sequenza su cui vuoi eseguire la query. Puoi vedere solo le sequenze per le quali hai il privilegio di visualizzare.

Passaggi successivi