Legenda:
- '>#' znamená že se jedná o příkazy spouštěné v psql
- '#' znamená že se jedná o systémové příkazy
- ostatní jsou běžné SQL
Přihlášení do db pomocí psql
# sudo su postgres -c psql
Zobrazení procesu v postgresql
select procpid, usename, current_query from pg_stat_activity;
Ostranění závadné query
select pg cancel backend(10144);
Listovaní databází
># \l
Změna databáze/hosta
># \c [jmeno_databaze|- uzivatel|- host|- port|-]
Listovaní tabulek
># \dt
Listovaní uživatelů
># \du
SELECT usename FROM pg_user;
Listování funkcí
># \df
Listovaní schémat
># \dn
Zobrazení detailu tabulky
># \d tabulka
Zobrazení práv nad tabulkou
># \z tabulka
Vytvoření databáze
CREATE DATABASE jmeno_databaze;
Vytvoření uživatele
CREATE USER uzivatel WITH PASSWORD 'heslo';
Přiřazení práv uživateli
- Pro tabulku
GRANT ALL PRIVILEGES ON tabulka TO uzivatel;
- Pro databázi
GRANT ALL PRIVILEGES ON DATABASE databaze TO uzivatel;
Zobrazení něčeho jako session id(vhodné pro pro testy restartu db)
SELECT procpid||' '||backend_start
FROM pg_stat_activity
WHERE datname = current_database()
AND usename = session_user
AND client_addr = inet_client_addr()
AND client_port = inet_client_port();
Přenačtení pg_hba.conf (nebojte se databáze pojede dál beze změn)
# kill -SIGHUP {pid of the postmaster process}
Linky:
- SQL příkazy
http://www.postgresql.org/docs/8.3/interactive/sql-commands.html - Dokumentace k psql
http://www.postgresql.org/docs/8.3/interactive/app-psql.html - Dokumentace k pg_hba
http://www.postgresql.org/docs/8.0/interactive/client-authentication.html - Pro příchozí z MySQL
http://en.wikibooks.org/wiki/Programming:Converting_MySQL_to_PostgreSQL - Česká stránka o postgresql
http://www.pgsql.cz/
