Roller, Postgres

From Linuxwiki
Revision as of 11:52, 31 October 2024 by Linuxwiki>Wikiadmin (Skapa roller i Postgres)
Jump to navigation Jump to search

Skapa roller i Postgres

En roll i Postgres kan äga sina egna databasobjekt och ha databasprivilegier. Man kan se en roll som en användare, en grupp eller båda beroende på hur det används. För att kunna skapa en roll måste man ha privilegiet CREATEROLE eller vara en superuser.

Roller definieras på klusternivå och gäller för alla databaser i klustret.

Kommandot för att skapa en roll är

CREATE ROLE name [ [ WITH ] option [ ... ] ]

Name är namnet på rollen. Option förklaras här

SUPERUSER / NOSUPERUSER: En superuser står över restriktioner i databasen. Använd enbart när det verkligen behövs. För att tilldela en superuserroll måste man själv vara superuser. Standard är NOSUPERUSER.

CREATEDB / NOCREATEDB: Avgör om en roll kan skapa en databas. Standard är NOCREATEDB.

CREATEROLE / NOCREATEROLE: Bestämmer om en roll kan skapa, ändra, ta bort, kommentera och ändra "security label" för andra roller. Standard är NOCREATEROLE.

INHERIT / NOINHERIT: Detta påverkar "arv" när en roll läggs till som en medlem av en annan roll. Standard är INHEIT.

LOGIN / NOLOGIN: Styr ifall en roll har tillåtelse att logga in eller ej. En roll med detta attribut kan betraktas som en användare. Utan detta attribut kan en sådan roll vara lämpligt för att hantera databasrättigheter. Standard är NOLOGIN utom när CREATE ROLE används med sin alternativa stavning CREATE USER.