středa 15. dubna 2026

PostgreSQL: Vytvoření uživatele v databázi

Databázový systém PostgreSQL má oddělené uživatele od operačního systému. Pokud běží na Linuxu, uživatelé se mohou jmenovat stejně, jako ti systémoví, ale není to podmínkou. Stejně tak na Windows.

V tomto článku ukážu několik základních příkazů pro vytvoření uživatele, přiřazení do skupiny a povolení přístupu do DB.

Standardně používám PostgreSQL na Linuxu, proto vycházím z tohoto prostředí. Ale na Windows instalacích (pokud takové existují) je tento postup v podstatě stejný.

Jako první vytvoříme uživatelský účet:

CREATE USER <jmeno_uzivatele> WITH PASSWORD 'nejakeheslo';

Pak přiřadíme uživateli roli (souhrn oprávnění nebo jednotlivá oprávnění u menších DB):

GRANT <jmeno_role> TO <jmeno_uzivatele>;

Note
Rolí může být víc (oddělují se čárkou).

Pak povolíme přístup do databáze:

GRANT CONNECT ON DATABASE <jmeno_databaze> TO <jmeno_uzivatele>;

A pak můžeme nastavit auditování uživatele:

ALTER ROLE <jmeno_uzivatele> SET pgaudit.log TO 'read,write,function';

Někde je vhodné nastavit auditování činností, které uživatel v databázi provádí. Aspoň víme, kdo db zprasil.

Tím je v databázi téměř vše hotovo. Nyní upravíme soubor pg_hba.conf (tam je seznam uživatelů, kteří mají do dané databáze přístup) přidáním záznamu daného uživatele. Např:

host    datasklad    lojza      0.0.0.0/0      scram-sha-256

Tímto povolíme uživateli lojza vzdálený přístup do databáze se jménem datasklad, s nastaveným zabezpečeným ověřováním scram-sha-256.

No a nakonec musíme zajistit, aby se změny v konfiguračním souboru projevily i v databázi. To uděláme buď restartem databáze, nebo elegantněji následujícím selectem:

SELECT * FROM pg_reload_conf();

Tímto se spustí funkce znovunačtení konfiguračních údajů.

Po provedení tohoto postupu se bude moci nově vytvořený uživatel přihlásit do databáze. Vytvořené heslo si pak může změnit na nějaké svoje vlastní.