resticker-pg/bin/dump_pg_db.sh
2025-03-01 17:32:03 +11:00

21 lines
570 B
Bash

#!/bin/bash
set -e
echo "Dumping all postgres databases at $DB_USERNAME@$DB_HOSTNAME"
mkdir -p /data/db
# Set env vars for psql
export PGUSER=$DB_USERNAME
export PGPASSWORD=$DB_PASSWORD
export PGHOST=$DB_HOSTNAME
export PGPORT=$DB_PORT
DBLIST=$(psql -d postgres -q -t -c "SELECT datname FROM pg_database WHERE datname NOT IN ('postgres', 'rdsadmin', 'template0', 'template1')")
for db in $DBLIST; do
echo "Dumping database $db"
pg_dump --file="/data/db/$dbname.sql" --no-owner --no-privileges --dbname="$dbname"
done
echo "Finished dumping all databases"