Verwaltet man viele Postgres-Datenbanken auf einem Server, benötigt man unbedingt ein Tool um alle Postgres-Datenbanken einzeln zu sichern. So ist im Ernstfall eine einzelne, beschädigte Datenbank sehr schnell wiederherstellbar ohne Andere in Mitleidenschaft zu ziehen.  Das folgende Script macht genau das:

Das Postgres Backupscript im Detail

Das Script erzeugt für jeder PostgreSQL-Datenbank einen eigenen, komprimierten SQL-Dump. Am Ende wird noch ein separater Dump mit allen Benutzer-Rollen erzeugt (GLOBALS.gz), so daß diese auch einzeln wiederherstellbar sind. Die Haltezeit der so erzeugten Backups ist frei einstellbar. Ältere Backupsets werden automatisch gelöscht.

Zur Konfiguration:

  • HOLD_DAYS: Die Haltezeit des Backups in Tagen.
  • TIMESTAMP: Das aktuelle Systemdatum.
  • BACKUP_DIR: Das Zielverzeichnis.
  • DB_USR, DB_PWD, DB_HOST, DB_PORT: Die Server-Verbindungsdaten.
  • DB_DUMP_CMD, DB_DUMPALL_CMD, DB_TOOL_CMD: Pfade zu den Postgres Query-Tools.

Das Script akzeptiert auch die Verbindungsdaten eine Remote PostgreSQL-Servers. Hier sollte jedoch beachtet werden, daß lokale und remote Version des Postgres Servers übereinstimmen.