Spis treści

PostgreSQL

Zarządzanie bazą odbywa się z poziomu konta użytkownika postgres.

  su - postgres

Do wykonywania zapytań używamy programu psql. Poza zapytaniami, warto zapamiętać kilka komend związanych z obsługą baz danych:

  psql
  \l     # Wylistowanie baz danych
  \q     # Wyjście z psql
  \c irk # Zmiana wybranej bazy danych
  \du    # Wyświetlenie istniejących użytkowników

Różnica pomiędzy psql i kontem użytkownika postgres jest taka, że w psql wykonujemy zapytania SQLowe, np. utworzenie użytkownika:

  CREATE USER someuser;

zaś z konta użytkownika postgres:

  createuser someuser;

Zwróć uwagę, że w programie psql nie dodanie średnika na końcu polecenia wprowadza tryb wieloliniowy, tzn. po naciśnięciu enter, program czeka na dalszy ciąg instrukcji. Znak zachęty zmienia się z postgres=# na postgres-#.

Tworzenie bazy danych

su - postgres
createdb -e -E UTF8 -l pl_PL.UTF-8 -T template0 somedb;

Zarządzanie użytkownikami

CREATE USER <username>;
GRANT SELECT ON <table> TO <username>;

Zmiana hasła

ALTER USER username WITH PASSWORD 'newpassword';

Backup bazy

wykonuje się poleceniem pg_dump. Oto przykładowy skrypt:

FILE_NAME="backup-$(date '+%Y-%m-%d.%H')"
echo "$(date +'%Y-%m-%d %H:%M:%S'): Wykonuje dump $FILE_NAME"
su --command "pg_dump db > $FILE_NAME.sql" postgres
tar -zcvf $FILE_NAME.tar.gz $FILE_NAME.sql
rm -f $FILE_NAME.sql

Przywrócenie backupu

su - postgres
psql nazwabazy < nazwapliku.sql