Vor dem Upgraden oder Verändern von Datenbanken empfiehlt es sich, zuerst ein Backup anzulegen. Der Befehl pg_dumpall schreibt alles in eine einzige Plain-Datei. Das ist etwas old-school, seit es das flexiblere Custom-Format für Backups gibt.
Mein Ziel ist eine Custom-Format-Datei pro Datenbank.
psql -AtU postgres -c "SELECT datname FROM pg_database WHERE NOT datistemplate"| \
while read f;
do pg_dump -Upostgres --format=c --file=$f.sqlc $f;
done;Das erzeugt einen Custom-Format-Dump pro Datenbank. Damit kannst du jede Datenbank einzeln wiederherstellen.
pg_restore -d postgres --clean --create db.sqlc--clean löscht eine bestehende Datenbank gleichen Namens und --create legt dieselbe Datenbank wie im Backup an.
Wenn du alles auf einmal wiederherstellen willst, ist pg_dumpall vielleicht besser für dich geeignet.