English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Ogni volta che si crea un oggetto del database, viene assegnato un proprietario, che di solito è la persona che esegue la frase create.
Per la maggior parte dei tipi di oggetti, lo stato iniziale è che solo il proprietario (o l'utente superutente) può modificare o eliminare l'oggetto. Per consentire ad altri ruoli o utenti di utilizzarlo, è necessario impostare i permessi per quell'utente.
In PostgreSQL, i permessi sono suddivisi nelle seguenti categorie:
SELECT
INSERT
UPDATE
DELETE
TRUNCATE
REFERENCES
TRIGGER
CREATE
CONNECT
TEMPORARY
EXECUTE
USAGE
In base al tipo dell'oggetto (tabella, funzione, ecc.), applicare i permessi specificati a quell'oggetto.
Per assegnare permessi agli utenti, utilizzare il comando GRANT.
La sintassi di base del comando GRANT è la seguente:
GRANT privilege [, ...] ON object [, ...] TO { PUBLIC | GROUP group | username }
permesso − il valore può essere: SELECT, INSERT, UPDATE, DELETE, RULE, ALL.
object − il nome dell'oggetto a cui assegnare l'accesso. Gli oggetti possibili includono: table, view, sequence.
PUBLIC − rappresenta tutti gli utenti.
GROUP group − per assegnare i permessi al gruppo utente.
username − il nome utente a cui assegnare i permessi. PUBLIC è una forma abbreviata che rappresenta tutti gli utenti.
Inoltre, possiamo utilizzare il comando REVOKE per revocare i permessi, la sintassi di REVOKE è:
REVOKE privilege [, ...] ON object [, ...] FROM { PUBLIC | GROUP groupname | username }
Per comprendere i permessi, crea un utente:
w3codeboxdb=# CREATE USER w3codebox WITH PASSWORD 'password'; CREATE ROLE
Informazione CREATE ROLE indica che è stato creato un utente "w3codebox".
Crea la tabella COMPANY (Scarica il file SQL di COMPANY ),i dati contenuti sono come segue:
w3codeboxdb# select * from COMPANY; id | name | age | address | salary ----+-------+-----+-----------+-------- 1 | Paul | 32 | California| 20000 2 | Allen | 25 | Texas | 15000 3 | Teddy | 23 | Norway | 20000 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 6 | Kim | 22 | South-Hall| 45000 7 | James | 24 | Houston | 10000 (7 rows)
Ora assegniamo i permessi all'utente "w3codebox":
w3codeboxdb=# GRANT ALL ON COMPANY TO w3codebox; GRANT
Informazione GRANT indica che tutte le autorizzazioni sono state assegnate a "w3codebox".
Di seguito vengono revocate le autorizzazioni dell'utente "w3codebox":
w3codeboxdb=# REVOKE ALL ON COMPANY FROM w3codebox; REVOKE
Informazione REVOKE indica che sono state revocate le autorizzazioni dell'utente.
Puoi anche eliminare l'utente:
w3codeboxdb=# DROP USER w3codebox; DROP ROLE
Informazione DROP ROLE indica che l'utente "w3codebox" è stato rimosso dal database.