- skapa en ny användare
- visa befintliga användarbehörigheter
- ändra befintliga användarbehörigheter
- tilldela
SUPERUSER
tillstånd - återkalla behörigheter
- tilldela
ändra användarbehörigheter inom PostgreSQL kan variera från ganska enkel till extremt komplex, beroende på den tillåtande granularitet som faktiskt krävs., I de flesta fall är det dock det kraftfulla kommandot ALTER USER
som ska användas för att göra allt från att tillåta användare att logga in, skapa databaser, hantera roller och till och med bli ett SUPERUSER
– konto.
vi utforskar kortfattat kraften i kommandot ALTER USER
så att du enkelt kan utföra en mängd olika behörighetstilldelningar och borttagningar när behovet uppstår.,
skapa en ny användare
innan vi börjar ändra användarbehörigheter bör vi skapa ett nytt användarkonto (vanligen kallat ROLE
) för att leka med.
för att börja listar vi alla befintliga användare:
=# SELECT usename FROM pg_user; usename---------- postgres(1 row)
som standard ärpostgres
vanligtvis den enda användaren som finns, så vi vill skapa en ny användare avlibrarian
för att styra vårlibrary
databas., Detta kan göras med kommandot CREATE USER
:
=# CREATE USER librarian;CREATE ROLE=# SELECT usename FROM pg_user; usename----------- postgres librarian(2 rows)
visa befintliga användarbehörigheter
det kan ofta vara användbart att undersöka befintliga behörigheter som tilldelats användarna i systemet. Detta kan enkelt åstadkommas med \du
– kommandot från psql
– prompten:
=# \du List of roles Role name | Attributes | Member of-----------+------------------------------------------------+----------- librarian | | {} postgres | Superuser, Create role, Create DB, Replication | {}
Vi kan tydligt se att även om vi nu har lagt till en ny librarian
– användare måste vi tilldela den några behörigheter.,
ändra befintliga användarbehörigheter
nu när vårlibrarian
– användare finns, kan vi börja användaALTER USER
för att ändra behörigheterna tilllibrarian
.,
grundformatet för ALTER USER
innehåller namnet på användaren (eller ROLE
) följt av en serie av options
för att informera PostgreSQL vilka tillåtande ändringar att göra:
=# ALTER USER role_specification WITH OPTION1 OPTION2 OPTION3;
dessa alternativ sträcker sig från CREATEDB
, CREATEROLE
, CREATEUSER
, och även SUPERUSER
. Dessutom har de flesta alternativ också en negativ motsvarighet och informerar systemet som du vill neka användaren den specifika behörigheten., Dessa alternativnamn är desamma som deras tilldelning motsvarighet, men är prefixerade med NO
(t.ex. NOCREATEDB
, NOCREATEROLE
, NOSUPERUSER
)., id=”329cbba936″>