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:
- CREATE ROLE [role_name];
- 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