Auf postgresql Version 17 ungraden

Probleme beim postgres-Update,

Über „https://www.postgresql.org“ habe ich die aktuelle DB-Version geprüft.
Meine aktuelle Version: 16.6-1 Debian

Dann habe ich folgendes entsprechend der Masterclass-Beschreibung
„Datenbank von paperless-ngx - So gelingt das Update (z.B. Postgres 13 zu Postgres 15)
„ durchgeführt:
- vom MAC aus mit ssh auf das NAS # ssh-Shell aufrufen
- cd /volume1/docker/paperless-ngx/config # in den Pfad wechseln
- sudo docker-compose exec webserver document_exporter …/export # Datenexport
- sudo docker-compose down # paperless herunterfahren

Beim ersten Versuch habe ich folgende drei „rm -rf“ durchgeführt:
- sudo rm -rf …/data/* # Inhalt von Ordner „data“ löschen
- sudo rm -rf …/pgdata/* # Inhalt von Ordner „pgdata“ löschen
dieser rm hat mangels Berechtigung nicht funktioniert (trotz Adminrechten)
- sudo rm -rf …/media/* # Inhalt von Ordner „media“ löschen

Dann habe ich wegen der Probleme einen kompletten Restore durchgeführt und den Vorgang bis hierhin entsprechend wiederholt (ohne die drei rm -rf) und ab hier weiter gemacht.

- sudo docker volume ls							# Docker-Volumes Anzeige: paperless_redisdata
- sudo docker volume rm paperless_redisdata	# entspr. Ordner löschen
- Änderung in der docker-compose.yml durchführen
   db:
	   image: docker.io/library/postgres:17			# auf Version 17 gesetzt
- sudo docker-compose up						# paperless starten und prüfen

Offensichtlich wurde die alte DB nicht vollständig entfernt (siehe outputs).

meinPrompt /volume1/docker/paperless-ngx/config$ sudo docker-compose up
[+] Running 15/15
⠿ db Pulled 32.2s
⠿ af302e5c37e9 Already exists 0.0s
⠿ 23db180a1f67 Pull complete 0.5s
⠿ dc59dd9c8eb3 Pull complete 2.5s
⠿ aec09e638045 Pull complete 2.8s
⠿ 4dd47a683737 Pull complete 3.8s
⠿ 7cebbe7849b3 Pull complete 4.2s
⠿ dc4330b02129 Pull complete 4.3s
⠿ 498cc40b9fe9 Pull complete 4.4s
⠿ 6d3411bb4696 Pull complete 29.4s
⠿ 8f14f34d54d3 Pull complete 29.6s
⠿ 88d4f7416643 Pull complete 29.6s
⠿ e91ad5cfb8d0 Pull complete 29.7s
⠿ e0c4d5055fb9 Pull complete 29.8s
⠿ 254ee626d709 Pull complete 29.9s
[+] Running 7/7
⠿ Network paperless_default Created 0.3s
⠿ Volume „paperless_redisdata“ Created 0.0s
⠿ Container paperless-db-1 Created 0.2s
⠿ Container paperless-tika-1 Created 0.2s
⠿ Container paperless-broker-1 Created 0.2s
⠿ Container paperless-gotenberg-1 Created 0.2s
⠿ Container paperless-webserver-1 Created 0.1s
Attaching to paperless-broker-1, paperless-db-1, paperless-gotenberg-1, paperless-tika-1, paperless-webserver-1
paperless-db-1 |
paperless-db-1 | PostgreSQL Database directory appears to contain a database; Skipping initialization
paperless-db-1 |
paperless-db-1 | 2025-01-27 10:07:15.351 UTC [1] FATAL: database files are incompatible with server
paperless-db-1 | 2025-01-27 10:07:15.351 UTC [1] DETAIL: The data directory was initialized by PostgreSQL version 16, which is not compatible with this version 17.2 (Debian 17.2-1.pgdg120+1).
paperless-broker-1 | 1:C 27 Jan 2025 10:07:15.542 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
paperless-broker-1 | 1:C 27 Jan 2025 10:07:15.542 # Redis version=7.0.15, bits=64, commit=00000000, modified=0, pid=1, just started
paperless-broker-1 | 1:C 27 Jan 2025 10:07:15.542 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
paperless-broker-1 | 1:M 27 Jan 2025 10:07:15.542 * monotonic clock: POSIX clock_gettime
paperless-broker-1 | 1:M 27 Jan 2025 10:07:15.543 * Running mode=standalone, port=6379.
paperless-broker-1 | 1:M 27 Jan 2025 10:07:15.543 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
paperless-broker-1 | 1:M 27 Jan 2025 10:07:15.543 # Server initialized
paperless-broker-1 | 1:M 27 Jan 2025 10:07:15.543 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can can also cause failures without low memory condition, see vm.max_map_count growing steadily when vm.overcommit_memory is 2 · Issue #1328 · jemalloc/jemalloc · GitHub. To fix this issue add ‚vm.overcommit_memory = 1‘ to /etc/sysctl.conf and then reboot or run the command ‚sysctl vm.overcommit_memory=1‘ for this to take effect.
paperless-broker-1 | 1:M 27 Jan 2025 10:07:15.544 * Ready to accept connections
paperless-gotenberg-1 |
paperless-gotenberg-1 | _____ __ __
paperless-gotenberg-1 | / / / /___ ___ / / ___ _______ _
paperless-gotenberg-1 | / (_ / _ / / -) _ / _ / -) / _ '/
paperless-gotenberg-1 | _
/_
/_/_////.__/_// _, /
paperless-gotenberg-1 | /
__/
paperless-gotenberg-1 |
paperless-gotenberg-1 | A Docker-powered stateless API for PDF files.
paperless-gotenberg-1 | Version: 8.13.0
paperless-gotenberg-1 | -------------------------------------------------------
paperless-gotenberg-1 | [SYSTEM] modules: api chromium exiftool libreoffice libreoffice-api libreoffice-pdfengine logging pdfcpu pdfengines pdftk prometheus qpdf webhook
paperless-gotenberg-1 | [SYSTEM] chromium: Chromium ready to start
paperless-gotenberg-1 | [SYSTEM] libreoffice-api: LibreOffice ready to start
paperless-gotenberg-1 | [SYSTEM] pdfengines: merge engines - qpdf pdfcpu pdftk
paperless-gotenberg-1 | [SYSTEM] pdfengines: convert engines - libreoffice-pdfengine
paperless-gotenberg-1 | [SYSTEM] pdfengines: read metadata engines - exiftool
paperless-gotenberg-1 | [SYSTEM] pdfengines: write medata engines - exiftool
paperless-gotenberg-1 | [SYSTEM] prometheus: collecting metrics
paperless-gotenberg-1 | [SYSTEM] api: server started on [::]:3000
paperless-db-1 exited with code 1
paperless-webserver-1 | Paperless-ngx docker container starting…
paperless-webserver-1 | Mapping UID and GID for paperless:paperless to 1030:100
paperless-webserver-1 | Creating directory scratch directory /tmp/paperless
paperless-webserver-1 | mkdir: created directory ‚/tmp/paperless‘
paperless-webserver-1 | Adjusting permissions of paperless files. This may take a while.
paperless-webserver-1 | Waiting for PostgreSQL to start…
paperless-db-1 |
paperless-db-1 | PostgreSQL Database directory appears to contain a database; Skipping initialization
paperless-db-1 |
paperless-db-1 | 2025-01-27 10:07:17.241 UTC [1] FATAL: database files are incompatible with server
paperless-db-1 | 2025-01-27 10:07:17.241 UTC [1] DETAIL: The data directory was initialized by PostgreSQL version 16, which is not compatible with this version 17.2 (Debian 17.2-1.pgdg120+1).
paperless-db-1 exited with code 1
paperless-db-1 |
paperless-db-1 | PostgreSQL Database directory appears to contain a database; Skipping initialization
paperless-db-1 |
paperless-db-1 | 2025-01-27 10:07:18.575 UTC [1] FATAL: database files are incompatible with server
paperless-db-1 | 2025-01-27 10:07:18.575 UTC [1] DETAIL: The data directory was initialized by PostgreSQL version 16, which is not compatible with this version 17.2 (Debian 17.2-1.pgdg120+1).
paperless-db-1 exited with code 1
paperless-db-1 |
paperless-db-1 | PostgreSQL Database directory appears to contain a database; Skipping initialization
paperless-db-1 |
paperless-db-1 | 2025-01-27 10:07:20.067 UTC [1] FATAL: database files are incompatible with server
paperless-db-1 | 2025-01-27 10:07:20.067 UTC [1] DETAIL: The data directory was initialized by PostgreSQL version 16, which is not compatible with this version 17.2 (Debian 17.2-1.pgdg120+1).
paperless-tika-1 | INFO [main] 10:07:20,247 org.apache.tika.server.core.TikaServerProcess Starting Apache Tika 2.9.1 server
paperless-webserver-1 | Connected to PostgreSQL
paperless-tika-1 | INFO [main] 10:07:20,530 org.apache.tika.server.core.TikaServerProcess loading resource from SPI: class org.apache.tika.server.standard.resource.XMPMetadataResource
paperless-db-1 exited with code 1
paperless-tika-1 | Jan 27, 2025 10:07:20 AM org.apache.cxf.endpoint.ServerImpl initDestination
paperless-tika-1 | INFO: Setting the server’s publish address to be http://0.0.0.0:9998/
paperless-tika-1 | INFO [main] 10:07:21,157 org.eclipse.jetty.util.log Logging initialized @3479ms to org.eclipse.jetty.util.log.Slf4jLog
paperless-tika-1 | INFO [main] 10:07:21,268 org.eclipse.jetty.server.Server jetty-9.4.53.v20231009; built: 2023-10-09T12:29:09.265Z; git: 27bde00a0b95a1d5bbee0eae7984f891d2d0f8c9; jvm 17.0.10+7-Ubuntu-122.04.1
paperless-tika-1 | INFO [main] 10:07:21,366 org.eclipse.jetty.server.AbstractConnector Started ServerConnector@5486887b{HTTP/1.1, (http/1.1)}{0.0.0.0:9998}
paperless-tika-1 | INFO [main] 10:07:21,367 org.eclipse.jetty.server.Server Started @3691ms
paperless-tika-1 | WARN [main] 10:07:21,398 org.eclipse.jetty.server.handler.ContextHandler Empty contextPath
paperless-tika-1 | INFO [main] 10:07:21,424 org.eclipse.jetty.server.handler.ContextHandler Started o.e.j.s.h.ContextHandler@1cbb3d3b{/,null,AVAILABLE}
paperless-tika-1 | INFO [main] 10:07:21,453 org.apache.tika.server.core.TikaServerProcess Started Apache Tika server caba8833-983c-45b9-9927-dd686f913dee at http://0.0.0.0:9998/
paperless-db-1 |
paperless-db-1 | PostgreSQL Database directory appears to contain a database; Skipping initialization
paperless-db-1 |
paperless-db-1 | 2025-01-27 10:07:21.827 UTC [1] FATAL: database files are incompatible with server
paperless-db-1 | 2025-01-27 10:07:21.827 UTC [1] DETAIL: The data directory was initialized by PostgreSQL version 16, which is not compatible with this version 17.2 (Debian 17.2-1.pgdg120+1).
paperless-webserver-1 | Waiting for Redis…
paperless-webserver-1 | Connected to Redis broker.
paperless-webserver-1 | Apply database migrations…
paperless-db-1 exited with code 1
paperless-db-1 |
paperless-db-1 | PostgreSQL Database directory appears to contain a database; Skipping initialization
paperless-db-1 |
paperless-db-1 | 2025-01-27 10:07:24.142 UTC [1] FATAL: database files are incompatible with server
paperless-db-1 | 2025-01-27 10:07:24.142 UTC [1] DETAIL: The data directory was initialized by PostgreSQL version 16, which is not compatible with this version 17.2 (Debian 17.2-1.pgdg120+1).
paperless-db-1 exited with code 1
paperless-db-1 |
paperless-db-1 | PostgreSQL Database directory appears to contain a database; Skipping initialization
paperless-db-1 |
paperless-db-1 | 2025-01-27 10:07:28.198 UTC [1] FATAL: database files are incompatible with server
paperless-db-1 | 2025-01-27 10:07:28.198 UTC [1] DETAIL: The data directory was initialized by PostgreSQL version 16, which is not compatible with this version 17.2 (Debian 17.2-1.pgdg120+1).
paperless-db-1 exited with code 1
paperless-db-1 |
paperless-db-1 | PostgreSQL Database directory appears to contain a database; Skipping initialization
paperless-db-1 |
paperless-db-1 | 2025-01-27 10:07:35.270 UTC [1] FATAL: database files are incompatible with server
paperless-db-1 | 2025-01-27 10:07:35.270 UTC [1] DETAIL: The data directory was initialized by PostgreSQL version 16, which is not compatible with this version 17.2 (Debian 17.2-1.pgdg120+1).
paperless-db-1 exited with code 1
paperless-webserver-1 | Traceback (most recent call last):
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/django/db/backends/base/base.py“, line 279, in ensure_connection
paperless-webserver-1 | self.connect()
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/django/utils/asyncio.py“, line 26, in inner
paperless-webserver-1 | return func(*args, **kwargs)
paperless-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/django/db/backends/base/base.py“, line 256, in connect
paperless-webserver-1 | self.connection = self.get_new_connection(conn_params)
paperless-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/django/utils/asyncio.py“, line 26, in inner
paperless-webserver-1 | return func(*args, **kwargs)
paperless-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/django/db/backends/postgresql/base.py“, line 332, in get_new_connection
paperless-webserver-1 | connection = self.Database.connect(**conn_params)
paperless-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/psycopg/connection.py“, line 98, in connect
paperless-webserver-1 | attempts = conninfo_attempts(params)
paperless-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/psycopg/_conninfo_attempts.py“, line 50, in conninfo_attempts
paperless-webserver-1 | raise e.OperationalError(str(last_exc))
paperless-webserver-1 | psycopg.OperationalError: [Errno -3] Temporary failure in name resolution
paperless-webserver-1 |
paperless-webserver-1 | The above exception was the direct cause of the following exception:
paperless-webserver-1 |
paperless-webserver-1 | Traceback (most recent call last):
paperless-webserver-1 | File „/usr/src/paperless/src/manage.py“, line 10, in
paperless-webserver-1 | execute_from_command_line(sys.argv)
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/django/core/management/init.py“, line 442, in execute_from_command_line
paperless-webserver-1 | utility.execute()
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/django/core/management/init.py“, line 436, in execute
paperless-webserver-1 | self.fetch_command(subcommand).run_from_argv(self.argv)
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/django/core/management/base.py“, line 413, in run_from_argv
paperless-webserver-1 | self.execute(*args, **cmd_options)
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/django/core/management/base.py“, line 459, in execute
paperless-webserver-1 | output = self.handle(*args, **options)
paperless-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/django/core/management/base.py“, line 107, in wrapper
paperless-webserver-1 | res = handle_func(*args, **kwargs)
paperless-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/django/core/management/commands/migrate.py“, line 118, in handle
paperless-webserver-1 | executor = MigrationExecutor(connection, self.migration_progress_callback)
paperless-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/django/db/migrations/executor.py“, line 18, in init
paperless-webserver-1 | self.loader = MigrationLoader(self.connection)
paperless-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/django/db/migrations/loader.py“, line 58, in init
paperless-webserver-1 | self.build_graph()
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/django/db/migrations/loader.py“, line 235, in build_graph
paperless-webserver-1 | self.applied_migrations = recorder.applied_migrations()
paperless-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/django/db/migrations/recorder.py“, line 89, in applied_migrations
paperless-webserver-1 | if self.has_table():
paperless-webserver-1 | ^^^^^^^^^^^^^^^^
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/django/db/migrations/recorder.py“, line 63, in has_table
paperless-webserver-1 | with self.connection.cursor() as cursor:
paperless-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/django/utils/asyncio.py“, line 26, in inner
paperless-webserver-1 | return func(*args, **kwargs)
paperless-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/django/db/backends/base/base.py“, line 320, in cursor
paperless-webserver-1 | return self._cursor()
paperless-webserver-1 | ^^^^^^^^^^^^^^
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/django/db/backends/base/base.py“, line 296, in _cursor
paperless-webserver-1 | self.ensure_connection()
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/django/utils/asyncio.py“, line 26, in inner
paperless-webserver-1 | return func(*args, **kwargs)
paperless-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/django/db/backends/base/base.py“, line 278, in ensure_connection
paperless-webserver-1 | with self.wrap_database_errors:
paperless-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/django/db/utils.py“, line 91, in exit
paperless-webserver-1 | raise dj_exc_value.with_traceback(traceback) from exc_value
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/django/db/backends/base/base.py“, line 279, in ensure_connection
paperless-webserver-1 | self.connect()
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/django/utils/asyncio.py“, line 26, in inner
paperless-webserver-1 | return func(*args, **kwargs)
paperless-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/django/db/backends/base/base.py“, line 256, in connect
paperless-webserver-1 | self.connection = self.get_new_connection(conn_params)
paperless-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/django/utils/asyncio.py“, line 26, in inner
paperless-webserver-1 | return func(*args, **kwargs)
paperless-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/django/db/backends/postgresql/base.py“, line 332, in get_new_connection
paperless-webserver-1 | connection = self.Database.connect(**conn_params)
paperless-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/psycopg/connection.py“, line 98, in connect
paperless-webserver-1 | attempts = conninfo_attempts(params)
paperless-webserver-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^
paperless-webserver-1 | File „/usr/local/lib/python3.12/site-packages/psycopg/_conninfo_attempts.py“, line 50, in conninfo_attempts
paperless-webserver-1 | raise e.OperationalError(str(last_exc))
paperless-webserver-1 | django.db.utils.OperationalError: [Errno -3] Temporary failure in name resolution
paperless-webserver-1 exited with code 1
paperless-webserver-1 | Adjusting permissions of paperless files. This may take a while.
paperless-webserver-1 | Waiting for PostgreSQL to start…
^CGracefully stopping… (press Ctrl+C again to force)
Aborting on container exit…

Anmerkung: In der Beschreibung steht, „Kunden der paperless-ngx Masterclass haben es hier wieder leicht, ihr löscht einfach die Inhalte der folgenden Ordner im docker-Verzeichnis „paperless-ngx“:

  •   data
    
  •   pgdata
    
  •   media“
    

Wie man diese Inhalte löscht, wird leider nicht beschrieben. In den Ordnern stehen z.B. Dateien wie „.DS_Store“, „@eaDir“. Es ist sicherlich von Bedeutung, ob diese Dateien gelöscht werden müssen oder verbleiben müssen. Bitte erkläre dies in deiner Dokumentation.

Durch Zufall habe ich im Forum einen Satz von dir gefunden „Postgres wird offiziell bis 16 von paperless-ngx unterstützt“. Damit würde sich erklären, warum ich Probleme habe.

Es wäre nett, wenn du mir auch kurz etwas zu den „paperless-webserver-1“-Fehlermeldungen mitteilen könntest.

Vielen Dank!

LD Dieter Knott