Datenbank mit pg_dump sichern
pg_dump --file=test.sql test
Datenbankcluster mit pg_dumpall sichern
pg_dumpall --file=ganze_datenbank.sql
Zu anderer Datenbank verbinden
pg_dumpall --database=template1 -f ganze_datenbank.sql
Datenbank mit psql wiederherstellen
createdb neue_db
psql -f test.sql neue_db
Datenbank mit psql wiederherstellen
CREATE DATABASE neue_db;
\c neue_db
\i test.sql
Datenbank mit psql wiederherstellen
createdb neue_db
cat test.sql | psql neue_db
Datenbank mit psql wiederherstellen
psql neue_db < test.sql
Tabellenstruktur exportieren
pg_dump --schema-only
Daten exportieren
pg_dump --data-only
Einzelne Tabellen exportieren
pg_dump --table=tabelle1 --table=tabelle2
Einzelnes Schema exportieren
pg_dump --schema=mein_schema
Schema vom Export ausschließen
pg_dump --exclude-schema=anderes_schema
Daten als INSERT exportieren
pg_dump --inserts
Daten mit Spaltennamen exportieren
pg_dump --inserts --column-inserts
Encoding wählen
pg_dump --encoding=latin1
Datenbank beim Import erstellen
pg_dump --create
Vorhandene Objekte löschen
pg_dump --clean
Datenbank im Tar-Format exportieren
pg_dump --format=tar -file=backup.tar test
Datenbankexport im Custom-Format
pg_dump --format=custom -file=backup.dump test
Wiederherstellen einer Datenbank
createdb test_neu
pg_restore --dbname=test_neu backup.dump
Ausgabe der SQL-Anweisungen
pg_restore backup.dump
Paralleles Wiederherstellen
pg_restore --dbname=test_neu --jobs=2 backup.dump
Ausgabe des Inhaltsverzeichnisses
pg_restore --list backup.dump
Inhaltsverzeichnis in Datei umleiten
pg_restore --list backup.dump > backup.list
Wiederherstellen mit Inhaltsdatei
pg_restore --use-list=backup.list backup.dump
Online Backup konfigurieren
archive_mode = on
archive_command = '/bin/cp -i %p /srv/backup/pg/logs/%f < /dev/null'
Von PostgreSQL ausgeführter Befehl
/bin/cp -i 010000000A020 /srv/backup/pg/logs/010000000A020
Nächstes Transaktionslog beginnen
archive_timeout = 3600
Backup starten
SELECT pg_start_backup('backup name');
Datenverzeichnis kopieren
cp -dpRv /var/lib/postgresql/data/* /srv/backup/pg/data/
Backup stoppen
SELECT pg_stop_backup();
.backup-Datei enthält Informationen zum Backup
START WAL LOCATION: 7/47000120 (file 000000010000000700000047) STOP WAL LOCATION: 7/4700017C (file 000000010000000700000047) CHECKPOINT LOCATION: 7/47000120 START TIME: 2009-01-23 11:45:21 CET LABEL: backup name STOP TIME: 2009-01-23 11:48:37 CET
Datenbank stoppen
/etc/init.d/postgresql stop
pg_hba.conf erweitern
local all postgres ident sameuser local all all reject host all all 0.0.0.0/0 reject
recovery.conf erstellen
restore_command = '/bin/cp /srv/backup/pg/logs/%f %p'
Datenbank starten
/etc/init.d/postgresql start
Anhand Zeitangabe stoppen
restore_command = '/bin/cp /srv/backup/pg/logs/%f %p'
recovery_target_time = '2009-01-24 11:48:37+02'
recovery_target_inclusive = 'false'
Anhand Transaktionsnummer stoppen
restore_command = '/bin/cp /srv/backup/pg/logs/%f %p'
recovery_target_xid = '851655'
recovery_target_inclusive = 'false'
recovery.conf konfigurieren
restore_command = 'pg_standby -c -t /tmp/pg_standby.trigger /srv/backup/pg/logs/%f %p %r 2>> /tmp/pg_standby.log'
Entpacken der Sourcen
tar xfz slony-1.2.tar.gz
oder:
gunzip -cd slony-1.2.tar.gz | tar xf -
Konfigurieren
cd slony-1.2/
./configure --with-perltools
Kompilieren und Installieren
make
make install
pg_hba.conf konfigurieren
host test postgres 192.168.23.2/32 trust
pg_hba.conf konfigurieren
host test postgres 192.168.23.1/32 trust
Einen Node in slon_tools.conf eintragen
add_node(node => 1, host => '192.168.23.1', dbname => 'test', port => 5432, user => 'postgres', password => '');
Ein Set in slon_tools.conf eintragen
$SLONY_SETS = { "Set_1" => { "set_id" => 1, ...
Cluster initialisieren
slonik_init_cluster --config slon_tools.conf | slonik
generierte slonik-Anweisungen
slonik_init_cluster --config slon_tools.conf
slon-Instanz starten
slon_start --config slon_tools.conf 1
Replikation eines Sets starten
slonik_create_set --config slon_tools.conf Set_1 | slonik
Replikation eines Sets starten
slonik_subscribe_set --config slon_tools.conf Set_1 1 | slonik
Replikation entfernen
slonik_uninstall_nodes --config slon_tools.conf | slonik
Entpacken der Sourcen
tar xfz pgpool-II-2.2.1.tar.gz
oder:
gunzip -cd pgpool-II-2.2.1.tar.gz | tar xf -
Konfigurieren
cd pgpool-II-2.2.1/
./configure --prefix=/usr
Kompilieren und Installieren
make
make install
Netzwerk konfigurieren
listen_addresses = '*'
port = 9999
Datenbanken konfigurieren
backend_hostname0 = '192.168.23.1'
backend_port0 = 5432
backend_weight0 = 1
backend_hostname1 = '192.168.23.2'
backend_port1 = 5432
backend_weight1 = 2
pgpool-II mit Slony nutzen
replication_mode = false
load_balance_mode = true
master_slave_mode = true