paperless-ngx update script Fehler

Ok, dann kommt das:
Code:
root@paperless-ngx:/opt/paperless/src# python3 manage.py migrate
Operations to perform:
  Apply all migrations: account, admin, auditlog, auth, authtoken, contenttypes, django_celery_results, documents, guardian, mfa, paperless, paperless_mail, sessions, socialaccount
Running migrations:
  Applying django_celery_results.0013_taskresult_django_cele_periodi_1993cf_idx...Traceback (most recent call last):
  File "/usr/local/lib/python3.11/dist-packages/django/db/backends/utils.py", line 103, in _execute
    return self.cursor.execute(sql)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/psycopg/cursor.py", line 97, in execute
    raise ex.with_traceback(None)
psycopg.errors.InsufficientPrivilege: permission denied for schema public

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/opt/paperless/src/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.11/dist-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.11/dist-packages/django/core/management/__init__.py", line 436, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python3.11/dist-packages/django/core/management/base.py", line 416, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/local/lib/python3.11/dist-packages/django/core/management/base.py", line 460, in execute
    output = self.handle(*args, **options)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/django/core/management/base.py", line 107, in wrapper
    res = handle_func(*args, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/django/core/management/commands/migrate.py", line 353, in handle
    post_migrate_state = executor.migrate(
                         ^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/django/db/migrations/executor.py", line 135, in migrate
    state = self._migrate_all_forwards(
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/django/db/migrations/executor.py", line 167, in _migrate_all_forwards
    state = self.apply_migration(
            ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/django/db/migrations/executor.py", line 255, in apply_migration
    state = migration.apply(state, schema_editor)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/django/db/migrations/migration.py", line 132, in apply
    operation.database_forwards(
  File "/usr/local/lib/python3.11/dist-packages/django/db/migrations/operations/models.py", line 954, in database_forwards
    schema_editor.add_index(model, self.index)
  File "/usr/local/lib/python3.11/dist-packages/django/db/backends/postgresql/schema.py", line 317, in add_index
    self.execute(
  File "/usr/local/lib/python3.11/dist-packages/django/db/backends/postgresql/schema.py", line 45, in execute
    return super().execute(sql, params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/django/db/backends/base/schema.py", line 204, in execute
    cursor.execute(sql, params)
  File "/usr/local/lib/python3.11/dist-packages/django/db/backends/utils.py", line 79, in execute
    return self._execute_with_wrappers(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/django/db/backends/utils.py", line 92, in _execute_with_wrappers
    return executor(sql, params, many, context)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/django/db/backends/utils.py", line 100, in _execute
    with self.db.wrap_database_errors:
  File "/usr/local/lib/python3.11/dist-packages/django/db/utils.py", line 91, in __exit__
    raise dj_exc_value.with_traceback(traceback) from exc_value
  File "/usr/local/lib/python3.11/dist-packages/django/db/backends/utils.py", line 103, in _execute
    return self.cursor.execute(sql)
           ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/dist-packages/psycopg/cursor.py", line 97, in execute
    raise ex.with_traceback(None)
django.db.utils.ProgrammingError: permission denied for schema public
root@paperless-ngx:/opt/paperless/src#
 
Perfekt, das ist die entscheidende Fehlermeldung!

Dein Datenbank-Benutzer (paperless) hat nicht die nötigen Rechte, um die Datenbank-Struktur zu aktualisieren. Das lässt sich schnell beheben.

Verbinde dich bitte mit deiner Datenbank. In der Regel geht das direkt in der LXC-Konsole mit:psql -U postgres paperless(Falls du bei der Installation einen anderen Datenbanknamen oder -benutzer gewählt hast, musst du den Befehl anpassen).

Führe dann in der psql-Ansicht diese beiden Befehle aus, um die Rechte zu korrigieren:GRANT CREATE ON SCHEMA public TO paperless;GRANT ALL ON SCHEMA public TO paperless;

Danach kannst du psql mit \q wieder verlassen.

Anschließend versuche bitte nochmal genau den Befehl, der eben den Fehler erzeugt hat:python3 /opt/paperless-ngx/src/manage.py migrate

Wenn der Befehl jetzt ohne Fehler durchläuft, sollte die Weboberfläche wieder erreichbar sein.
 
  • Like
Reactions: pfaelzerbube
Das funktioniert leider nicht:
Code:
root@paperless-ngx:~# psql -U postgres paperless
psql: error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: FATAL:  Peer authentication failed for user "postgres"
root@paperless-ngx:~#
 
hab es geändert zu
Code:
psql -U paperless paperlessdb
da in der conf folgendes steht:
Code:
PAPERLESS_REDIS=redis://localhost:6379
PAPERLESS_DBHOST=localhost
PAPERLESS_DBPORT=5432
PAPERLESS_DBNAME=paperlessdb
PAPERLESS_DBUSER=paperless

aber gleiches Ergebnis.
 
Der Fehler "Peer authentication failed" ist ein typisches Problem mit den Standard-Rechten von PostgreSQL. Du bist als Benutzer root in der Konsole angemeldet, aber die Datenbank erwartet, dass du dich auch als Betriebssystem-Benutzer postgres ausweist, um dich anzumelden.

Versuche es bitte mal mit diesem Befehl, um dich als der PostgreSQL-Admin-Benutzer zu verbinden:sudo -u postgres psql paperlessdb

Das sollte dich ohne Passwort in die psql-Ansicht bringen. Führe dort dann wie geplant die beiden Befehle aus:GRANT CREATE ON SCHEMA public TO paperless;GRANT ALL ON SCHEMA public TO paperless;

Danach wieder mit \q raus und das migrate-Kommando erneut versuchen.
 
  • Like
Reactions: pfaelzerbube
Code:
root@paperless-ngx:/opt/paperless/src# sudo -u postgres psql paperlessdb
psql (15.5 (Debian 15.5-0+deb12u1))
Type "help" for help.

paperlessdb=# GRANT CREATE ON SCHEMA public TO paperless;
GRANT
paperlessdb=# GRANT ALL ON SCHEMA public TO paperless;
GRANT
paperlessdb=# \q
root@paperless-ngx:/opt/paperless/src#

Hat das damit geklappt? Es gibt weder eine positiv noch negativ Meldung. Zumindest hat das anmelden geklappt.

Danach ist das migrate Kommando durchgelaufen.
paperless ist aber nicht erreichbar oder muss ich nochmal neu starten?
Muss ich jetzt nochmal das Update starten?
 
ah, alles gut. Neustart von paperless hat geholfen und ich bin auf der neuen Version.
Vielen vielen Dank, das hätte ich niemals ohne dich geschafft
 
  • Like
Reactions: Bu66as