====== 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 ;
GRANT SELECT ON TO ;
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