Når et objekt er opprettet i en database, en eier er tildelt. Eieren er vanligvis den som henrettet etableringen uttalelse. For de fleste typer objekter, er den første staten som eneste eier (eller en superbruker) kan endre eller slette objektet. Hvis du vil tillate andre roller eller brukere til å bruke det, privilegier
eller tillatelse må gis.
Ulike typer privilegier i PostgreSQL are:
SELECT,
INSERT,
UPDATE,
DELETE,
TRUNCATE,
REFERENCES,
TRIGGER,
CREATE,
CONNECT,
TEMPORARY,
EXECUTE, og
BRUK
Avhengig av objektet (bord, funksjon, osv,), er privilegier brukes på objektet. Å tildele rettigheter til brukere, er GRANT kommandoen brukes.
Syntax for GRANT
Basic syntaks GRANT kommandoen for er som følger:
GRANT privilegium [...] ON objekt [...] Å {PUBLIC | GROUP gruppe | brukernavn}
privilegium
verdier kan være:. SELECT, INSERT, UPDATE, DELETE, REGEL, ALL
objekt Anmeldelser : Navnet på en gjenstand til å gi tilgang. De mulige objekter er: tabell, visning, sekvens
OFFENTLIG:. En kort skjema som representerer alle brukere
GROUP gruppen
: En gruppe for hvem til å gi privilegier.
brukernavn Bilde: Navnet på en bruker du vil gi rettigheter. PUBLIC er en kortform som representerer alle brukere.
Privilegiene kan tilbakekalles med REVOKE kommandoen.
Syntax for REVOKE
Basic syntaks for REVOKE kommandoen er som følger:
REVOKE privilegium [...] ON objekt [...] Fra {PUBLIC | GROUP gruppenavn | brukernavn}
privilegium
verdier kan være:. SELECT, INSERT, UPDATE, DELETE, REGEL, ALL
objekt Anmeldelser : Navnet på en gjenstand til å gi tilgang. De mulige objekter er: tabell, visning, sekvens
OFFENTLIG:. En kort skjema som representerer alle brukere
GROUP gruppen
: En gruppe for hvem til å gi privilegier.
brukernavn Bilde: Navnet på en bruker du vil gi rettigheter. PUBLIC er en kortform som representerer alle brukere
Eksempel
For å forstå de privilegier, la oss først opprette en bruker som følger:.
Testdb = # opprette bruker manisha MED PASSORD 'passord'; CREATE ROLLE
Meldingen CREATE ROLLE indikerer at brukeren "manisha" opprettes
Tenk bordet COMPANY ha poster som følger:.
testdb # select * from COMPANY; id | Navn | alder | adressere | lønn ---- + ------- + ----- + ----------- + -------- 1 | Paul | 32 | California | 20000 2 | Allen | 25 | Texas | 15000 3 | Teddy | 23 | Norge | 20000 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 6 | Kim | 22 | Sør-Hall | 45000 7 | James | 24 | Houston | 10000 (7 p)
Neste, la oss gir alle privilegier på et bord COMPANY til brukeren "manisha" som følger:
testdb = # GRANT ALL ON SELSKAPET TIL manisha; GRANT
Meldingen GRANT indikerer at all privilegier er tilordnet bruker:
Neste, la oss tilbakekalle privilegiene fra brukeren "manisha" som følger:.
testdb = # Tilbakekall alle på selskapet fra manisha; REVOKE
Meldingen REVOKE indikerer at alle rettigheter trekkes tilbake fra bruker:
Du kan også slette brukeren som følger:.
testdb = # DROP USER manisha; DROP ROLLE
Meldingen DROP ROLLE indikerer BRUKER manisha slettes fra databasen .