== Documentazione su Postgres == E` poca, ma io non sono un grosso esperto di postgres. Speriamo almeno che sia corretta. === Backup dei database === Scopiazzando un po`, ho messo assieme questo scriptino di backup che dovrebbe funzionare con Postgres 7 e 8. Lo scopo e` fare dei dump delle tables singolarmente, in modo da poterne restorare una sola in caso non di disastro totale (perdita del disco) ma di corruzione di un singolo database. Comunque, siccome nel backup ci sono tutte le tables e anche i dati degli utenti e dei permessi, questo puo` anche essere usato per un restore "da zero", credo. Comunque vale la pena, per un restore da zero programmato (per dire, cambio di server) vedere pg_dumpall. Questo script deve essere eseguito dall'utente postgres, il quale deve avere il permesso di scrivere files nella directory di backup. Perche` funzioni in automatico occorre che in locale l'utente postgres non abbia bisogno di password ("ident sameuser" o simili). Altrimenti occorre modificarlo un po`. {{{ #!/bin/bash # dove metto i backup DIR=/backupdisk/postgres [ ! $DIR ] && mkdir -p $DIR || : # rotate dei vecchi dump savelog -l -c 7 $DIR/*.dump # dump degli utenti echo `date` Dumping global data pg_dumpall -g -c > $DIR/dumpall_data.dump # dump dei database, uno alla volta, escludendo template0 che non e` accessibile # e in ogni caso non serve LIST=$(psql -t -c "select datname from pg_database order by datname" -d template1 | grep -vE 'template0') for d in $LIST do echo `date` Dumping database $d pg_dump --create --compress=6 --file=$DIR/$d.dump $d done echo `date` Done }}}