Upgrade von paperless-ngx v2 auf v3: Schritt für Schritt erklärt

Ok dann muss ich doch mal genauer werden.
Also erstmal ist das nur eine Warnung. Paperless sollte weiter funktionieren.
Grund für das ganze ist das sich das zu Grunde liegende Betriebssystem für den Datenbank Container geändert hat. Genauer gesagt die C-Standardbibliothek (glibc).
PostgreSQL erkennt diesen Versionssprung (von 2.36 auf 2.41) bei der Textsortierung (Collation) und warnt, da dies bestehende Indizes korrumpieren könnte.

Ich dachte bei der oberen Meldung eines Kollegen das die DB das selber regelt. Macht sie aber nicht. Da steht ja auch expliziet was man doch bitte machen sollte.

1 . Mit der Datenbank verbinden

Docker Host

Starte eine interaktive PostgreSQL-Sitzung direkt im betroffenen Container. Passe den Benutzernamen an, falls in der docker-compose.yml ein anderer definiert wurde.

docker exec -it paperless-db-1 psql -U paperless -d paperless

Der Schritt war erfolgreich, wenn die Eingabeaufforderung zu paperless=# wechselt.

2. Indizes neu aufbauen

Datenbank-Konsole

Um sicherzustellen, dass die neue Sortierlogik auf alle bestehenden Textfelder korrekt angewendet wird, müssen die Indizes neu aufgebaut werden.

REINDEX DATABASE paperless;

Der Befehl ist abgeschlossen, wenn nach einigen Sekunden wieder der leere Prompt erscheint und keine Fehlermeldung ausgegeben wird.

3. Collation-Version aktualisieren

Datenbank-Konsole

Bestätige PostgreSQL, dass die neue Version der Betriebssystembibliothek akzeptiert wird, um die Warnmeldung künftig zu unterdrücken.

ALTER DATABASE paperless REFRESH COLLATION VERSION;

Eine erfolgreiche Ausführung wird typischerweise mit NOTICE: changing version from 2.36 to 2.41 gefolgt von ALTER DATABASE bestätigt.

4. Sitzung beenden und prüfen

Verlasse die PostgreSQL-Konsole und prüfe die Logs.

\q

Führe auf dem Host docker logs -f paperless-db-1 aus. Der Schritt ist erfolgreich verifiziert, wenn in den neu generierten Log-Einträgen die „collation version mismatch“ Warnung nicht mehr auftaucht.