I have written the following script to backup _all_ databases on
various servers that are running postgresql. I don't want anything
fancy - just be able to backup the database and restore when bad times
come. Just posting it here to be reviewed to see if I have made any
mistake:
#!/bin/bash
DIR=/backup
[ ! $DIR ] && mkdir -p $DIR || :
# ignore any name starting with ---, List, Name, ( or template 0 and 1
LIST=$(psql -l | awk '{ print $1}' | grep -vE
'^-|^List|^Name|^\(|template[0|1]')
for d in $LIST
do
pg_dump $d | gzip -c > $DIR/$d.out.postgres.`hostname`.gz
done
Also, I have read the respective manpages but never understood the
difference between pg_dump & pg_dumpall. But I noticed pg_dumpall
dumps the schema (?) and pg_dump dumps the actual tables and rows etc.
Thanks.