Site down nach fehlgeschlagenem Update: Berechtigung verweigert, die Erweiterung "unaccent" zu erstellen.

Das Upgrade über die Weboberfläche ist mit folgendem Fehler fehlgeschlagen:

INFO -- : > cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate'
discourse@discourse ERROR: permission denied to create extension "unaccent"
discourse@discourse HINT: Must be superuser to create this extension.
discourse@discourse STATEMENT: CREATE EXTENSION IF NOT EXISTS unaccent
rake aborted!
PG::InsufficientPrivilege: ERROR: permission denied to create extension "unaccent"
HINT: Must be superuser to create this extension.

Vor langer Zeit habe ich meine app.yml bearbeitet, was das Problem verursachen könnte:

templates:
  # auskommentiert, um Speicherplatzproblem zu beheben
  #- "templates/postgres.template.yml"
  - "templates/postgres.10.template.yml"

Ich habe diese Änderung vor langer Zeit vorgenommen, daher erinnere ich mich abgesehen von diesem Kommentar nicht mehr an die Situation.
Ich habe das so belassen und versucht, auf die Discourse-Version zurückzukehren, die ich vor dem Update-Fehler hatte, indem ich die Version in der app.yml auf v2.8.0beta8 geändert habe, aber das schlägt fehl mit

Pups::ExecError: cd /var/www/discourse & git checkout v2.8.0.beta8 failed with return #<Process::Status: pid 1843 exit 1>
Location of failure: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"code", "cmd"=>["git reset --hard", "git clean -f", "git remote set-branches --add origin main", "git remote set-branches origin $version", "git fetch --depth 1 origin $version", "git checkout $version", "mkdir -p tmp", "chown discourse:www-data tmp", "mkdir -p tmp/pids", "mkdir -p tmp/sockets", "touch tmp/.gitkeep", "mkdir -p                    /shared/log/rails", "bash -c \"touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log\"", "bash -c \"ln    -s           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log $home/log\"", "bash -c \"mkdir -p           /shared/{uploads,backups}\"", "bash -c \"ln    -s           /shared/{uploads,backups} $home/public\"", "bash -c \"mkdir -p           /shared/tmp/{backups,restores}\"", "bash -c \"ln    -s           /shared/tmp/{backups,restores} $home/tmp\"", "chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp\"", "find public/plugins/ -maxdepth 1 -xtype l -delete"]}}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
5b66f706de1a3ce8d78f0ed886669095c1a356efd916cb2ae8b02171367b0a01

Ich denke also, ich muss entweder PostgreSQL von Version 10 aufrüsten oder Discourse auf Version 2.8.0beta8 herabstufen, beides schlägt fehl. Was soll ich tun?

Wie wurde dieser Server installiert?

Haben Sie Änderungen an der Postgres-Konfiguration vorgenommen?

Wenn Sie noch auf Postgres 10 sind, versuchen Sie, dies nach dem hooks:-Abschnitt in Ihrer app.yml hinzuzufügen:


after_postgres:
    - exec: su postgres -c 'psql discourse -c "create extension if not exists unaccent;"'

2 „Gefällt mir“

Wir sind bereits 2020 von PostgreSQL 10 weggegangen. Ich bitte Sie, so bald wie möglich ein Update durchzuführen.

3 „Gefällt mir“

Gibt es eine Anleitung, wie das geht? Ist mehr daran beteiligt, als diese eine Zeile in der app.yml rückgängig zu machen?

Der Link in meinem Beitrag ist die Anleitung dazu, wir sind jedoch auch zu PostgreSQL 13 Update umgezogen, folgen Sie also dem neuen.

4 „Gefällt mir“

Das hat es für mich behoben, und dann konnte ich PostgreSQL gemäß den Anweisungen von @Falco aktualisieren.

4 „Gefällt mir“

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.