Reindex nach Update auf 2.18.1

Hi everybody
Habe gerade ein Update auf die Version 2.18.1 gemacht. Hat alles gut funktioniert. Beim Befehl sudo docker-compose up erscheint folgende Meldung am Schluss, welche alle 10 Sekunden neu erscheint und endlos läuft.

paperless-1-db-1         | 2025-08-19 16:06:25.278 UTC [112] HINT:  Rebuild all objects in this database that use the default collation and run ALTER DATABASE postgres REFRESH COLLATION VERSION, or build PostgreSQL with the right library version.

ChatGPT meint, dass die DB ein refresh erhalten soll und allenfalls ein reindex. Was haltet ihr davon? Habt ihr dieses Problem auch?

Greets

hab mein Log grad mal kontrolliert, gleiche Meldung, ne Anleitung wie man das fixt findest du im Synology Forum:

Habs so gemacht wie im Synology-Forum und bekomme diese Meldungen. Hab auch nochmals die Container neu gestartet. Hat nichts gebracht bis jetzt.

2025-08-20 15:43:58.000 UTC [40] WARNING:  database "template1" has a collation version mismatch
paperless-1-db-1         | 2025-08-20 15:43:58.000 UTC [40] DETAIL:  The database was created using collation version 2.36, but the operating system provides version 2.41.
paperless-1-db-1         | 2025-08-20 15:43:58.000 UTC [40] HINT:  Rebuild all objects in this database that use the default collation and run ALTER DATABASE template1 REFRESH COLLATION VERSION, or build PostgreSQL with the right library version.

Jetzt hab ich’s.

Paperless, postgres und das template1 liefen nicht alle auf der gleichen Version. Es müssen alle reindext werden.

Jetzt läuft wieder alles rund und ohne Fehlermeldungen.

1 „Gefällt mir“

LOL mir fällt eben auf bei mir zeigt es das auch an aber es läuft alles einwandfrei.

version 2.36, but the operating system provides version 2.41

Was meinst du mit

und was hast du gemacht ?

Kommt drauf an, welche DB du hast.

Wenn du Postgres hast sollte es mit diesen drei Befehlen funktionieren.

Bei container-name den korrekten einfügen.

template1 fixen

sudo docker exec -it (container-name) psql -U (db-user) -d postgres -c „REINDEX DATABASE template1;“
sudo docker exec -it (container-name) psql -U (db-user) -d postgres -c „ALTER DATABASE template1 REFRESH COLLATION VERSION;“

(empfohlen) auch ‚postgres‘ DB fixen

sudo docker exec -it (container-name) psql -U (db-user) -d postgres -c „REINDEX DATABASE postgres;“
sudo docker exec -it (container-name) psql -U (db-user) -d postgres -c „ALTER DATABASE postgres REFRESH COLLATION VERSION;“

(deine eigentliche Anwendungs-Datenbank, z. B. paperless, nextcloud, etc.)

sudo docker exec -it (container-name) psql -U (db-user) -d (dein-db-name) -c „REINDEX DATABASE (dein-db-name);“
sudo docker exec -it (container-name) psql -U (db-user) -d postgres -c „ALTER DATABASE (dein-db-name) REFRESH COLLATION VERSION;“

1 „Gefällt mir“

Woher kommen eigentlich die beiden Datenbanken?
Werden die automatisch beim erstellen der Postgres Datebnak angelegt?

Die beiden sind mir vorher noch nie aufgefallen.
Ok, so lange keine Meldung kommt fällt einem nicht auf was angelegt ist.

Kann man die beiden Datenbanken auch löschen oder werden die benötigt?

Es gibt noch eine vierte das ist die template0.

Jake, du weisst besser als ich „never touch a running system“ :). Deshalb nein. Er braucht diese für Paperless-NGX und für die Admin- und Hilfsdatenbank. Das template1 ist die vorlage für neue DB’s.

template1
„paperless“
postgres

diese müssen die gleiche Version haben, sonst mäkkert er.

Der Spruch kommt mir bekannt vor! :laughing:
Und in welchem Pfad für ich die Befehle aus? \volumeX\docker\

direkt auf der konsole

sudo docker exec -it (container-name) psql -U (db-user) -d postgres -c \

Mit diesem Befehl kannst du dann prüfen, ob alle DB’s die gleiche Version haben. Müsste die 2.41 sein.

d.h. ich muss den Container-Namen wissen und einfügen und „paperless“ als DB-User sowie und DB name ?

Ist bekannt wie das Problem überhaupt entsteht ?

Schon klar, melde mich per SSH and der Syno an und dann gleich die Sudo Befehle, ohne vorher einen Pfad anzuwählen? Frage für einen Freund. :sweat_smile:

Jep genau.

Den DB-Namen wirst vom Container-Manager aus kennen und den DB-User wird paperless sein, sofern du die Masterclass con @Stefan genutzt hast.

Wie das Problem entsteht, kann ich Dir nicht sagen.

1 „Gefällt mir“

sudo docker exec -it (container-name) psql -U (db-user) -d postgres -c

Kannst du mal erklären für jemand der gerade auf dem schlauch steht wie der korrekte befehl lauten sollte ?

sudo docker exec -it paperless-pgsql psql -U paperless -d postgres -c
/usr/lib/postgresql/17/bin/psql: option requires an argument – ‚c‘
psql: hint: Try „psql --help“ for more information.

Das weiss ich nicht genau, wie er bei dir richtig heissen sollte, weil ich nicht weiss, wie deine DB heisst und dein DB-Username lautet.

füge hinter dem -c noch dies ein inkl. „“-Zeichen

sudo docker exec -it paperless-pgsql psql -U paperless -d postgres -c „SELECT datname, datcollversion FROM pg_database;“

Ne hab ich nicht, aber die Werte sind ja alle in der yaml ersichtlich.

1 „Gefällt mir“

Schon besser :smiley:

sudo docker exec -it paperless-pgsql psql -U paperless -d postgres -c „SELECT datname, datcollversion FROM pg_database;“
psql: warning: extra command-line argument „datname,“ ignored
psql: warning: extra command-line argument „datcollversion“ ignored
psql: warning: extra command-line argument „FROM“ ignored
psql: warning: extra command-line argument „pg_database“ ignored
WARNING: database „postgres“ has a collation version mismatch
DETAIL: The database was created using collation version 2.36, but the operating system provides version 2.41.
HINT: Rebuild all objects in this database that use the default collation and run ALTER DATABASE postgres REFRESH COLLATION VERSION, or build PostgreSQL with the right library version.
ERROR: syntax error at or near „„SELECT“
LINE 1: „SELECT
^
-sh: “: command not found

füge das mit ctrl+c und ctrl+v ein:

sudo docker exec -it paperless-pgsql psql -U paperless -d postgres -c "SELECT datname, datcollversion FROM pg_database;"