POSTGRESQL
utworzone przez | lis 10, 2009 | PostgreSQL
psql
tryb OS
| psql [option] -d [dbname] -h [hostname] -U [username] |
|
| psql -l |
lista baz |
| psql -f [file] |
pobieraj komendy z pliku |
tryb psql
| psql syntax: |
|
| \timing |
ustaw wskazanie czas wykonania SQL |
| \q |
wyjdź |
| \password |
ustaw hasło |
| \pset |
zmień ustawienia psql |
| \l |
pokaż bazy |
| \d [table] |
opis tabeli |
| \c [database] |
podłącz do bazy |
| \da |
funkcje agregujące |
| \db+ |
przestrzenie tabel |
| \dc |
conversions |
| \df+ |
funkcje |
| \dg+ \du+ |
role |
| \di+ |
indeksy |
| \ds+ |
sekwencje |
| \dt+ |
tabele |
| \dv+ |
widoki |
| \dSvtis+ |
widoki systemowe,tabele,indeksy,sekwencje |
| \dn+ |
schematy |
| \do |
operatory |
| \dp |
uprawnienia |
| \encoding |
kodowanie bazy |
| \l+ |
opis bazy |
| \z |
obiekty z uprawnieniami |
| \o [file] |
plik spool |
| \! [command] |
wykonaj komendę OS |
| help commands: |
|
| \? |
info about commands with backslash |
| \h |
sql help |
| parametery: |
|
| show all |
parametry psql |
| show [parametr] |
pokaż parametr |
| show search_path |
pokaż parametr search_path |
| set search_path to [other_schema] |
ustaw parametr search path na nowy schemat |
lokalizacje
| default binary path |
/usr/local/psql/pg |
zmiana bieżącego kontekstu:
- show search_path;
- \dn;
- set search_path to <schema>;
pg_ctl:
| pg_ctl status |
status klastra |
| pg_ctl -D [cluster_dir] [action] |
status klastra z określonej lokalizacji |
| pg_ctl start/stop/restart |
start,stop klastra, można dodać -l [logfile] |
| pg_ctl stop -m [smart/fast/immediate] |
stop klastra w określonym -m trybie: smart(default), fast(with rolleback transactions, immediate(shutdown abort) |
| pg_controldata [cluser_dir] |
info klastra |
tworzenie klastra:
| initdb –pgdata/-D [cluster_dir] [-E encoding] |
#cluster initialization,create template1 and postgres database |
tworzenie bazy:
| createdb [dbname] [-D tablespace] [-E encoding] [-O owner] [-T template to create new database] |
polecenia SELECT dla administratora:
| SELECT pg_database_size('[dbname]’); |
rozmiar bazy |
| SELECT pg_size_pretty(pg_database_size('[dbname]’)); |
rozmiar bazy w formacie |
| SELECT pg_size_pretty(pg_total_relation_size('[table]’)); |
rozmiar tabel z indeksami |
| SELECT pg_size_pretty(pg_relation_size('[table]’)); |
rozmiar bazy bez indeksów |
| SELECT spcname FROM pg_tablespace; |
|
| SELECT relname,relpages FROM pg_class WHERE; |
|
pg_dump(eksport)
| pg_dump [db_name] > [file] |
dump in plaintext format |
| pg_dump -t '[table]’ [db_name] > [file] |
|
| pg_dump -Fc |
dump in pg_restore format |
| pg_dumpall > [file] |
dump all databases (dump the cluster) |
import:
| psql [db] < [plik] |
import z pliku w formacie tekstowym |
| psql -f [file] postgres |
import z pliku w formacie tekstowym (de facto wykonanie poleceń z pliku |
| pg_restore -d [baza] [plik] |
import z pliku w formacie pg_restore |
| pg_restore -l [plik] |
pokaż zawartość dumpfile |
zmiana IP dla hosta:
- change in $PG_DATA/postgresql.conf
- change in $PG_DATA/pg_hba.conf (according manual – chapter 20: Client Authentication)
zarządzanie uprawnieniami i rolami:
- sprwdzenie:
- \dg #sprawdzenie uprawnień systemowych
- SELECT * FROM pg_roles;
- tworzenie roli:
- zmiana:
- ALTER ROLE [role_name] SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CREATEROLE | NOCREATEROLE | CREATEUSER | NOCREATEUSER | INHERIT | NOINHERIT | LOGIN | NOLOGIN | CONNECTION LIMIT [connlimit] | PASSWORD [password] | ENCRYPTED | UNENCRYPTED | VALID UNTIL [timestamp]
- zmiana hasła:
- ALTER ROLE [role] PASSWORD '[pass]’;
- nadanie uprawnienia do roli
- GRANT [privs] ON [object] TO [role];
- zmiana uprawnień do obiektu:
- \z #sprawdź uprawnienia
- =xxxx #uprawnienia nadane na PUBLIC
- username=xxxx #uprawnienia nadane dla usera
- groupname=xxxx #privileges nadane dla grupy
flagi uprawnień
| r |
SELECT („read”) |
| w |
UPDATE („write”) |
| a |
INSERT („append”) |
| d |
DELETE |
| R |
RULE |
| x |
REFERENCES |
| t |
TRIGGER |
| X |
EXECUTE |
| U |
USAGE |
| C |
CREATE |
| T |
TEMPORARY |
| arwdRxt |
– ALL PRIVILEGES (for tables) |
misc:
- ALTER TABLE [table] ALTER COLUMN [column] TYPE int USING [column]::int; #change column type from char to in
- variable PGDATA point to cluster catalog