Come creare un utente in PostgreSQL Utilizzo di PgAdmin

⚡ Riepilogo intelligente

Creazione di un utente in PostgreSQL È possibile farlo visivamente in pgAdmin o con il comando CREATE USER nella shell SQL. Successivamente, è possibile concedere i privilegi con GRANT, modificare i ruoli con ALTER USER e rimuovere gli account con DROP USER.

  • 🖱️ Crea in pgAdmin: Fai clic con il pulsante destro del mouse su Ruoli di accesso/gruppo, inserisci un nome, imposta una password e i privilegi, quindi salva per creare l'utente.
  • 💻 Comando CREATE USER: Nella shell SQL, il comando CREATE USER nomeutente WITH opzioni imposta nomeutente, superutente e password in un'unica operazione.
  • 🔑 Concedere l'accesso: GRANT ALL PRIVILEGES ON DATABASE db TO user concede a un utente esistente l'accesso a un database.
  • 🔧 ALTERARE UTENTE: Il comando ALTER USER modifica le autorizzazioni di un ruolo, aggiungendo o revocando privilegi come SUPERUSER.
  • 🗑️ RILASCIA UTENTE: Il comando DROP USER rimuove un account, ma solo dopo che quest'ultimo non possiede più alcun oggetto nel database.
  • 🧾 Ruolo vs Utente: Il comando CREATE USER utilizza di default LOGIN, mentre CREATE ROLE utilizza di default NOLOGIN; per il resto sono identici.

Come creare un utente in PostgreSQL Utilizzo di PgAdmin

Come creare PostgreSQL Utente in PgAdmin

Di seguito è riportato un processo passo dopo passo su come creare un utente in PostgreSQL Amministrazione pagina:

Passo 1) Fare clic con il tasto destro su Accedi

Nel primo passaggio, fare clic con il pulsante destro del mouse su Ruolo gruppo di accesso -> Crea -> Fare clic su Ruolo gruppo di accesso...

Crea
 PostgreSQL Utente in PgAdmin

Passo 2) Crea ruolo di accesso/gruppo

Ora inserisci il nome per il login

Crea
 PostgreSQL Utente in PgAdmin

Passo 3) Fai clic su Definizione e inserisci i dettagli

  1. "Inserisci la password"
  2. Una data di scadenza per l'account

Crea
 PostgreSQL Utente in PgAdmin

Passo 4) La sezione Privilegi

  1. Toggle Pulsante Può accedere su SÌ
  2. Toggle Superutente su SÌ

Crea
 PostgreSQL Utente in PgAdmin

Passo 5) Migliori SQL pagina

  1. Verrà visualizzata la query SQL per creare un utente in base alle selezioni effettuate nei passaggi precedenti
  2. Fare clic sul pulsante Salva

Crea
 PostgreSQL Utente in PgAdmin

Passo 6) Il ruolo viene creato

Ora il Ruolo si riflette nell'albero degli oggetti.

Crea
 PostgreSQL Utente in PgAdmin

Passo 7) Creare un Banca Dati

Ora assegnagli il proprietario myguru come mostrato nell'esempio di creazione Postgres dell'utente di seguito.

Crea
 PostgreSQL Utente in PgAdmin

Passo 8) La riga di comando

Ora puoi vedere che il proprietario è Myguru.

Crea
 PostgreSQL Utente in PgAdmin

PostgreSQL Creare una SQLShell utente (riga di comando)

È possibile creare un utente utilizzando il comando della riga di comando

CREARE UN UTENTE

Questo metodo di creazione utente con password di Postgres è più conveniente per programmatori e amministratori poiché hanno accesso alla console di PostgreSQL server. Inoltre, necessitano della creazione dell'utente Postgres e dell'esecuzione con un unico comando invece di accedere e utilizzare l'interfaccia del PostgreSQL cliente.

Sintassi:

CREATE USER name [ WITH ] option [ ... ]

where option can be:

      SUPERUSER | NOSUPERUSER
    | CREATEDB | NOCREATEDB
    | CREATEROLE | NOCREATEROLE
    | INHERIT | NOINHERIT
    | LOGIN | NOLOGIN
    | REPLICATION | NOREPLICATION
    | BYPASSRLS | NOBYPASSRLS
    | CONNECTION LIMIT connlimit
    | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL
    | VALID UNTIL 'timestamp'
    | IN ROLE role_name [, ...]
    | IN GROUP role_name [, ...]
    | ROLE role_name [, ...]
    | ADMIN role_name [, ...]
    | USER role_name [, ...]
    | SYSID uid

Esempio:

CREATE USER tom;

creerà un utente tom

CREATE USER tom WITH SUPERUSER;

Verrà creato un utente chiamato "tom" con privilegi di superutente. Vediamo un esempio.

Passo 1) Stiamo creando un superutente valido fino al 3rd Aprile 2025 11:50:38 IST. Inserire il seguente comando

CREATE USER mytest WITH
	LOGIN
	SUPERUSER
	CREATEDB
	CREATEROLE
	INHERIT
	NOREPLICATION
	CONNECTION LIMIT -1
	VALID UNTIL '2025-04-03T11:50:38+05:30'
	PASSWORD '123456';

Creare una SQLShell utente

Passo 2) Inserisci il comando \du nell'elenco di controllo degli utenti

Creare una SQLShell utente

NOTA: Il comando CREATE USER è equivalente al comando CREATE ROLE. La differenza tra i due comandi sta nel fatto che, quando si utilizza il comando CREATE USER in PostgreSQL, l'utente si trova di default nello stato LOGIN, mentre con l'opzione CREATE ROLE si assume lo stato NOLOGIN.

Aggiungi un utente esistente a un database

È possibile concedere a un utente i privilegi per accedere a un database.

Ad esempio, concediamo all'utente "mytest" tutti i privilegi sull'utente guru99

GRANT ALL PRIVILEGES ON DATABASE guru99 TO mytest;

Aggiungi un utente esistente a un database

Dopo l'esecuzione del PostgreSQL aggiungi il comando utente, l'utente potrà accedere al database con le autorizzazioni fornite.

Il comando GRANT è molto potente. Puoi concedere privilegi granulari come Seleziona, Inserisci, Aggiorna a un utente.

PostgreSQL Aggiornamento UTENTE

Modifica delle autorizzazioni utente esistenti

Ora che esiste il nostro nuovo utente "mytest" puoi utilizzare ALTER USER per modificare le autorizzazioni concesse al bibliotecario.

Il formato di ALTER USER Postgres include il nome dell'utente seguito da alcune opzioni da raccontare PostgreSQL quali modifiche permissive apportare:

ALTER USER role_specification WITH OPTION1 OPTION2 OPTION3;

Revok Autorizzazioni

È necessario utilizzare questo comando quando si commette un errore e si assegna erroneamente l'autorizzazione che si desidera revocare. È possibile utilizzare il comando ALTER USER senza prefisso prima delle opzioni permissive.

Ad esempio, possiamo rimuovere lo stato SUPERUSER da mytest come:

ALTER USER mytest WITH NOSUPERUSER;

Usando \du, noterai che il privilegio di Superutente viene rimosso.

Revok Autorizzazioni

Assegnazione dell'autorizzazione

È possibile utilizzare l'autorizzazione SUPERUSER dell'utente "mytest" utilizzando il seguente comando

ALTER USER mytest WITH SUPERUSER;

Usando \du, noterai che viene aggiunto il privilegio di Superutente.

Assegnazione dell'autorizzazione

PostgreSQL Eliminazione utente

Puoi utilizzare Elimina qualsiasi utente se sei sicuro che l'utente specifico non sia più per il tuo database. Tieni presente che l'eliminazione degli utenti non influirà mai sul database effettivo.

Syntax: DROP USER [user]

Per eliminare un utente, devi accertarti che l'utente sia il proprietario del database. Altrimenti, potresti ricevere un messaggio di errore.

ERROR:  role "username" cannot be dropped because some objects depend on it

Esempio:

  1. L'account "myguru" è proprietario del database "demoDB".
  2. Inserisci il comando DROP USER myguru
  3. Viene visualizzato l'errore

PostgreSQL Eliminazione utente

Una volta modificato il proprietario del database, l'utente può essere eliminato

PostgreSQL Eliminazione utente

Cheat Sheet

Ecco i comandi importanti

Comandi Descrizione
CREATE USER [user]
Comando per creare un utente
ALTER USER role_specification
Modifica delle autorizzazioni utente esistenti
ALTER USER [user]
Revok Autorizzazioni
ALTER USER [user name] WITH SUPERUSER
Assegnazione dell'autorizzazione
DROP USER [user]
Comando per eliminare un utente

DOMANDE FREQUENTI

Nella shell psql, esegui il comando \du per elencare tutti i ruoli e i relativi attributi. Puoi anche interrogare il catalogo di sistema con SELECT rolname FROM pg_roles per ottenere le stesse informazioni a livello di programmazione.

Utilizza il comando ALTER USER, ad esempio ALTER USER mytest WITH PASSWORD 'nuovapassword'. La modifica ha effetto immediato. Le password vengono memorizzate in forma crittografata e solo i superutenti o l'utente stesso possono modificarle.

In PostgreSQLUtenti e ruoli sono lo stesso oggetto. CREATE USER crea un ruolo che può accedere per impostazione predefinita, mentre CREATE ROLE ne crea uno che non può accedere a meno che non si aggiunga l'attributo LOGIN.

L'intelligenza artificiale può generare istruzioni CREATE USER, GRANT e ALTER USER a partire da una semplice descrizione dell'accesso necessario, spiegando ogni privilegio. Questo consente di applicare il principio del minimo privilegio senza dover memorizzare la sintassi.

Sì. L'IA può suggerire comandi GRANT granulari che concedono solo i privilegi necessari, mettere in guardia contro la concessione di un accesso di superutente troppo ampio e raccomandare l'utilizzo dei ruoli per raggruppare le autorizzazioni, semplificando e rendendo più sicura la gestione.

Riassumi questo post con: