Pokud máme v souboru /var/lib/pgsql/data/pg_hba.conf
nastavenu autentizaci, je při záloze nutné zadat heslo. U automatizovaných záloh je nutné tuto interakci obejít, a proto musíme vytvořit soubor ~/.pgpass
v domovském adresáři uživatele, který bude tyto zálohy provádět. Formát řádků souboru:
hostname:port:database:username:password
První čtyři hodnoty mohou byt nahrazeny wildcard znakem *
. Vzhledem tomu, že tento soubor obsahuje heslo do databáze, zajistíme jeho nečitelnost ostatními uživateli nastavením práv.
chmod 0600 ~/.pgpass
Zálohy provádíme například následujícím způsobem.
#!/bin/bash MY_DATE=`date +%Y%m%d-%H%M%S` /usr/bin/pg_dumpall -U postgres > $MY_DATE-postgres.sql
Obnova dat ze zálohy lze provést následovně.
su - postgres psql \l DROP DATABASE importovana_db; \q psql –f postgres.sql