#!/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"