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
- postgresql.conf -> kontrola základných nastavení ako priradenie pamäti, lokalizácia ukladania údajov, kde sú logy atď ...
- pg_hba.conf-> kontrola zabezpečenia. Spravuje možnosti pripojenia užívateľov k databázovému serveru
- pg_ident.conf -> mapuje prihlásenie užívateľov na server PostgreSQL z overených operačných systémov.
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ázyCREATE 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
- Tvorba databázy -> CREATE DATABASE novadb;
- Template database -> databáza, ktorá slúžia ako šablóna pre vytváranie iných databáz:
CREATE DATABASE novadb TEMPLATE template0;
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;
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' |