Administrácia databázy

Základná administrácia databázového servera PostgreSQL: správa užívateľov, vytváranie databáz, inštalácie doplnkov, tvorba záloh databáz a obnova databáz.


Konfiguračné súbory
Po každej úprave konfiguračných súborov treba reštartovať databázový server, alebo znovu načítať serverové nastavenia.

Správa používateľov

Príklad vytvorenia užívateľa databázy
CREATE ROLE marek LOGIN PASSWORD 'mojeheslo'
SUPERUSER VALID UNTIL '2020-10-20 23:00';

Možnosť tvorby skupiny užívateľov a dedičnosť vlastností.

Správa databáz



Organizácia databázy s použitím schém

Schémy sú logické kontajnery údajov a rozdeľujú databázu na časti.
Príklad vytvorenia novej schémy:
CREATE SCHEMA udaje;
Akákoľvek nová databáza obsahuje schému "public" do ktorej sa ukladajú údaje. Vyhľadávanie je preto primárne presmerované na túto schému. Toto nastavenie možno zmeniť cez príkaz
ALTER ROLE marek SET search_path=udaje,public;

Práva používateľov (Permissions)

Príklad modifikácie práv: Ak chceme aby každý nový užívateľ mal práva prístupu SELECT a EXECUTE do každej tabuľky a funkciám, ktoré vytvoríme v schéme údaje:

GRANT USAGE ON SCHEMA udaje TO public;
ALTER DEFAULT PRIVILEGES IN SCHEMA udaje
GRANT SELECT, REFERENCES, TRIGGER ON TABLES
TO public;

ALTER DEFAULT PRIVILEGES IN SCHEMA udaje
GRANT SELECT, UPDATE ON SEQUENCES
TO public;


ALTER DEFAULT PRIVILEGES IN SCHEMA udaje
GRANT EXECUTE ON FUNCTIONS
TO public;


GRANT USAGE ON SCHEMA udaje TO public;
GRANT SELECT, REFERENCES, TRIGGER
ON ALL TABLES IN SCHEMA udaje
TO public;


Záloha databázy "pg_dump"

pg_dump [connection-option...] [option...] [dbname]

Znakové údajové typy

Názov Popis
character varying(n), varchar(n) Premenná dĺžka reťazca s limitom
character(n), char(n) fixovaná dĺžka reťazca
text Nelimitovaná premenná dĺžka reťazca


Číselné údajové typy

Názov Zaberá veľkosť Popis Rozsah
smallint 2 bytes small-range integer -32768 to +32767
integer 4 bytes typical choice for integer -2147483648 to +2147483647
bigint 8 bytes large-range integer -9223372036854775808 to +9223372036854775807
decimal variable user-specified precision, exact up to 131072 digits before the decimal point; up to 16383 digits after the decimal point
numeric variable user-specified precision, exact up to 131072 digits before the decimal point; up to 16383 digits after the decimal point
real 4 bytes variable-precision, inexact 6 decimal digits precision
double precision 8 bytes variable-precision, inexact 15 decimal digits precision
smallserial 2 bytes small autoincrementing integer 1 to 32767
serial 4 bytes autoincrementing integer 1 to 2147483647
bigserial 8 bytes large autoincrementing integer 1 to 9223372036854775807


Údajové typy pre dátum a čas

Názov Popis
timestamp [(p)] kde p = voliteľná presnosť sekúnd Dátum a čas +zóna napr. '2004-10-19 10:23:54+02'
time [(p)] Denný čas, bez dátumu napr. '00:00:00'
date Iba dátum napr: '1/18/1999' '1999-01-08' '08-Jan-2004'