( uid_4656 | 2013. 08. 26., h – 20:27 )

Pár napja írtam egy kollégámnak:

"PostgreSQL-ben egy plusz lépés kell az adatbázis létrehozásához. Nézd hogy csinálnék usert:

CREATE ROLE database_admin
NOSUPERUSER NOINHERIT CREATEDB CREATEROLE REPLICATION;

CREATE ROLE bela LOGIN
ENCRYPTED PASSWORD 'xxx'
NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;

GRANT database_admin TO bela;

Ez a postgresql-nél azt jelenti, hogy ha belépsz bela-ként simán, akkor NEM tudsz user-t (role-t) meg db-t menedzselni, hanem ilyeneket tudsz csinálni:

SET ROLE database_admin;
CREATE DATABSE test;
DROP DATABASE test;
SET ROLE bela;

Azaz külön kérned kell, hogy a database_admin role nevében szeretnél eljárni."