Wenn ich versuche, System-Backups auszuführen, erhalte ich folgende Meldung: „Das Backup ist fehlgeschlagen. Bitte überprüfen Sie die Protokolle."
Im Protokoll steht: pg_dump: [archiver (db)] connection to database "discoursedb" failed: could not connect to server: Connection refused
Ich vermute, dass hier zwei Probleme vorliegen:
- Der Remote-Server läuft auf einem nicht standardmäßigen Port.
- Der Remote-PostgreSQL-Server verwendet eine neuere PSQL-Version.
Wenn ich in die App eintrete (/var/discourse/launcher enter app) und ein manuelles Backup durchführe, stellte ich fest, dass ich zunächst ohne Portangabe exakt denselben Fehler erhielt:
$ pg_dump -h 123.456.789.101 -U username -W -F t discourse_db > discourse_db_backup.tar
Password:
pg_dump: [archiver (db)] connection to database "discourse_db" failed: could not connect to server: Connection refused
\tIst der Server auf dem Host „123.456.789.101" aktiv und akzeptiert er
\tTCP/IP-Verbindungen auf Port 5432?
Das war leicht zu beheben (AUSSER ich weiß nicht, wie ich Discourse zwingen kann, den richtigen Port für Backups zu verwenden). Das nächste Problem war jedoch etwas besorgniserregender: Wir verwenden auf dem Datenbankserver eine neuere Version von PSQL:
$ pg_dump -h 123.456.789.101 -p 45678 -U username -W -F t discourse_db > discourse_db_backup.tar
Password:
pg_dump: server version: 11.5 (Ubuntu 11.5-3.pgdg18.04+1); pg_dump version: 10.10 (Debian 10.10-1.pgdg100+1)
pg_dump: Abbruch wegen Inkonsistenz der Serverversion
Was kann in einer solchen Situation unternommen werden? Gibt es eine Möglichkeit, funktionierende System-Backups in diesem Fall zu realisieren, oder müssen Discourse und die PostgreSQL-Datenbank separat gesichert werden?
Falls Letzteres die einzige Option ist, was ist der KORREKTE Weg, zumindest die Daten zu sichern? Gibt es eine bevorzugte, zusammenhängende Methode, um beides gleichzeitig durchzuführen, ohne ein neues Skript dafür schreiben zu müssen?