In PostgreSQL, un utente deve avere il Privilegio di accesso Per accedere al database. Tuttavia, le autorizzazioni esplicite devono essere assegnate per eseguire operazioni di database, tra cui selezione di tabelle, colonne e record.
IL POSTGRESQL Grant Query consente di modificare i privilegi per gli utenti su oggetti di database come tabelle, colonne, viste, funzioni, schemi e altro ancora.
Questo tutorial ti guiderà usando il POSTGRESQL Grant comanda per modificare i privilegi per vari oggetti di database.
Uso di base
La sintassi di base per il comando Grant è:
Concedere i privilegi sugli oggetti all'utenteNella sintassi di cui sopra, è possibile specificare uno o più privilegi da concedere sull'oggetto specificato all'utente.
Per impostare tutti i privilegi su un oggetto, è possibile utilizzare la parola chiave.
Alcuni dei privilegi che puoi specificare per concedere un oggetto includono:
Successivamente, si specifica l'oggetto del database e l'utente che concedere i privilegi impostati.
Esempi di dichiarazione di sovvenzione
Diamo un'occhiata ad alcuni esempi di come usare il Grant query sul Database PostgreSQL.
Innanzitutto, crea un utente locale senza privilegi. Per fare ciò, assicurati di accedere come utente amministratore.
Psql -u PostgresNel passaggio successivo, crea un database e una tabella di esempio che useremo per illustrare i privilegi di PostgreSQL.
Una query di esempio è sotto:
Drop database se esiste privati;Infine, esci dall'utente di Postgres e accedi come utente che abbiamo appena creato sopra. Nell'esempio sopra, usa il comando:
PSQL -U MODS -D privati;Esempio 1
Se si tenta di selezionare i valori dalla tabella Modifica del database privato, riceverai un errore negato dell'autorizzazione.
Per esempio:
privs => Seleziona * da modifica;È possibile risolvere questo errore concedendo tutte le autorizzazioni all'utente MODS o aggiungendo i privilegi selezionati.
Per fare ciò, accedi come utente di Postgres.
PSQL -u Postgres -d privas;Ciò consente agli utenti MOD di selezionare gli elementi dalla tabella Modifica del database Privs.
Una volta eseguita l'istruzione SELECT, dovresti ottenere risultati come:
privs =# Seleziona * da modifica;Esempio 2
Puoi anche assegnare più privilegi contemporaneamente. Ad esempio, per specificare Selezionare, inserire, eliminare e troncare i privilegi, Usa il comando.
Concedere selezionare, inserire, eliminare, troncare su modifica in mod;Esempio 3
Per concedere tutte le autorizzazioni a un utente, impostare i privilegi su tutti, come mostrato nel comando di esempio seguente:
Concedere tutto su modifica alle mod;Esempio 4
In tutti gli esempi sopra, assegniamo solo i privilegi a un utente su una tabella specifica. Per concedere i privilegi a tutte le tabelle di uno schema specificato, possiamo usare il comando:
Concedere selezionare, inserire, eliminare, troncare su tutte le tabelle nello schema "private" a mod;Esempio 5
Puoi anche CONCESSIONE Un privilegio di connessione a un utente specifico a un database specifico. La domanda è:
Concedere connect sui privati del database alle mod;Per revocare tutte le autorizzazioni concesse a un utente, utilizzare la query di revoca come:
Revoca selezionare, inserire, eliminare, troncare su modifica dalle mod;Chiusura
Come questa guida ti ha mostrato, Postgresql consente di modificare i privilegi in un utente su oggetti di database utilizzando il Concedere e revoca comandi.