@
Monacum ich bin mit deinem Backup für die Datenbank noch nicht ganz durch. In der Synology Docker GUI hast du einen Postgres-Container? Wie heißt dieser genau und ist dieser gestartet bzw. kannst du diesen starten?
Also, ich habe mittlerweile drei Möglichkeiten für mich gefunden, ein Back-up durchzuführen, welches dann auch in letzter Konsequenz wieder genutzt werden kann, wenn ich eine Instanz neu aufgesetzt habe:
- Backup durch Kopieren der gemappten Ordner im Docker-Laufwerk
- Backup mit der mitgelieferten Funktion von Paperless
- Backup der PostgreSQL-DB mit pgdump
Was leider alle drei Möglichkeiten gemeinsam haben: es führt zu einem Fehler und ständigen Neustart des Webservice, sowie des Paperless-Containers, wenn ich mit einem Back-up von
PostgreSQL 14 auf 15 gehe — alle anderen Updates, beispielsweise von 13 auf 14, waren überhaupt kein Problem. Folgende Fehlermeldungen bekomme ich dabei:
Kopie wieder einspielen
Es starten alle drei Container, dann gibt es ein Problem mit der Verbindung zwischen Webserver und Database und die beiden sind dann in einer Dauerschleife von Neustarts gefangen. Das Log von PostgreSQL wirft folgende Fehlermeldung aus, die vollständige Fehlermeldung des letzten Eintrages weist darauf hin, dass 14 mit der verwendeten Version 15.1. inkompatibel ist:
Paperless-Exporter/-Importer
Ich beginne mit leeren Ordnern
/data
/media
/pgdata
und starte das ganze, was auch super funktioniert. Danach setze ich mit
docker-compose run --rm webserver createsuperuser
einen neuen Admin und starte die Wiederherstellung aus dem vorhandenen Ordner
/export
mit dem Befehl
sudo docker-compose exec webserver document_importer ../export
(alles unter
cd /volume1/docker/paperlessngx/config/
im Mac-Terminal via SSH). Wenn es den Benutzernamen bereits in der „alten“ Datenbank gibt, erhalte ich den Fehler:
Code:
django.db.utils.IntegrityError: Problem installing fixture '/usr/src/paperless/src/../export/manifest.json': Could not load auth.User(pk=2): duplicate key value violates unique constraint "auth_user_username_key"
DETAIL: Key (username)=(monacumngx) already exists.
ERROR: 1
Kein Ding, dann benenne ich den Benutzer in der GUI mal eben um, dann erhalte ich aber folgenden Fehler:
Code:
django.db.utils.IntegrityError: Problem installing fixtures: insert or update on table "auth_group_permissions" violates foreign key constraint "auth_group_permissio_permission_id_84c5c92e_fk_auth_perm"
DETAIL: Key (permission_id)=(101) is not present in table "auth_permission".
was ich nicht weiter deuten kann, vielleicht kannst du oder jemand anderes mir hier weiterhelfen?
pgdump
Ja last but not least habe ich auch das hinbekommen mit deinem Befehl. Er erstellt mir ohne Mucken den Dump
nach deiner Anleitung, ein Einspielen in ein leeres Paperless führt aber zu ähnlichen Fehlern wie beim Einspielen der „reinen“ Kopie.
Es scheint also irgendeine Art von Inkompatibilität innerhalb der erstellten Datenbank zu geben, bei der ich aktuell keine Idee habe, wie ich sie, beispielsweise mit einem entsprechenden Befehl, beheben kann. Ich habe dazu die Tage auch schon mal im Internet gelesen, da geht es aber Immer nur darum, generell die Datenbank zu updaten, ohne einen speziellen Bezug zu Paperless. Paperless-ngx an sich funktioniert aber – wenn man es neu baut – bei mir auch mit PostgreSQL 15.1 sonst ohne Probleme. Vielleicht hat ja jemand hier noch Ideen oder sieht meinen Fehler.