Oltre agli utenti e ai ruoli predefiniti forniti con PostgreSQL, puoi creare altri utenti o ruoli PostgreSQL. Questi utenti hanno lo stesso insieme di
privilegi dell'utente postgres
:
CREATE ROLE
,
CREATEDB
e LOGIN
. Per saperne di più su questi
privilegi, consulta CREATE ROLE
.
Puoi modificare i privilegi di qualsiasi utente utilizzando il comando ALTER ROLE
. Se crei un nuovo utente con il client psql
, puoi
scegliere di associarlo a un ruolo diverso o assegnare privilegi diversi.
Prima di iniziare
Per utilizzare i comandi PostgreSQL per gestire gli utenti su un cluster, devi disporre di quanto segue:
- Accesso al client
psql
- Accesso all'utente del database
postgres
o a un altro utente con i privilegi amministrativi appropriati
Crea un utente del database
Per creare un utente del database che esegue l'autenticazione direttamente con il database utilizzando un nome utente e una password, nota anche come autenticazione integrata, utilizza il seguente comando:
CREATE USER USERNAME WITH PASSWORD 'PASSWORD';
Sostituisci quanto segue:
USERNAME
: il nome utente del ruolo utente.PASSWORD
: La nuova password da assegnare al ruolo utente.
Per ulteriori informazioni su come creare e definire gli utenti del database, vedi CREATE
USER
.
Dopo aver creato un utente o un ruolo, puoi modificarne i privilegi utilizzando il comando ALTER
ROLE
nel client psql
.
Concedere ruoli a un utente del database
Per concedere ruoli a un utente del database, utilizza questo comando:
GRANT ROLE to USERNAME;
Sostituisci quanto segue:
ROLE
: il ruolo da concedere all'utente del database.PASSWORD
: La nuova password da assegnare al ruolo utente.
Per concedere a un utente i privilegi di superutente, assegna il ruolo alloydbsuperuser
.
Modificare la password di un utente del database
Per impostare una nuova password per un utente del database PostgreSQL standard, utilizza il seguente comando:
ALTER USER USERNAME WITH PASSWORD 'PASSWORD';
Sostituisci quanto segue:
USERNAME
: il nome utente dell'utente del database.PASSWORD
: La nuova password da assegnare al ruolo utente.
Per ulteriori informazioni sulla modifica della password di un utente, vedi ALTER ROLE
.
Revocare un ruolo da un utente del database
Per revocare un privilegio concesso in precedenza a uno o più ruoli o per revocare l'appartenenza di un utente a un ruolo, utilizza il seguente comando:
REVOKE ROLE FROM USERNAME;
Per rimuovere i privilegi di superutente di un utente, revoca il ruolo alloydbsuperuser
per quell'utente.
Visualizzare un elenco di utenti del database
Per visualizzare una tabella di tutti gli utenti del database e le loro appartenenze ai gruppi, utilizza il seguente comando:
\du
Eliminazione di un utente di database
Prima di eliminare un utente, devi eliminare tutti gli oggetti di sua proprietà o riassegnarne la proprietà e revocare tutti i privilegi concessi al ruolo su altri oggetti.
Per eliminare un utente, utilizza il seguente comando:
DROP ROLE USERNAME;