Pups::ExecError: su postgres -c 'psql discourse -c "alter schema public owner to discourse;"' schlug mit Rückgabewert fehl

Pups::ExecError: su postgres -c ‘psql discourse -c “alter schema public owner to discourse;”’ ist fehlgeschlagen mit Rückgabewert #<Process::Status: pid 54 exit 2>

Das Verzeichnis "/shared/postgres_data" hat ungültige Berechtigungen

meine app.yml-Datei

## Plugins gehen hierhin ## siehe https://meta.discourse.org/t/19157 für Details
$hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse$
- git clone https://github.com/Ebsy/disc$
- git clone https://github.com/discourse$
- git clone https://github.com/discourse$
- git clone https://github.com/discourse$
- git clone https://github.com/discourse$
- git clone https://github.com/discourse$
- git clone https://github.com/discourse$
- git clone https://github.com/davidtayl$
- git clone https://github.com/discourse$
## - git clone https://github.com/pavilio$
## Offizielle Plugins ##
- git clone https://github.com/discour$
- git clone https://github.com/discourse$
- git clone https://github.com/discourse$
- git clone https://github.com/discourse$
- git clone https://github.com/discourse$
- git clone https://github.com/discourse$
- git clone https://github.com/discourse$
- git clone https://github.com/discourse$
- git clone https://github.com/discourse$
## Neue Plugins installiert ##
- git clone https://github.com/Ahmedgaga$
## - git clone https://github.com/gdpelic$
## - git clone https://github.com/paviliond$
## Beliebige benutzerdefinierte Befehle, die nach dem Erstellen ausgeführt werden sollen
run:
- exec: echo "Beginn benutzerdefinierter Befehle" ## Wenn Sie die E-Mail-Adresse 'Von' für festlegen möchten
## Nach Erhalt der ersten Anmelde-E-Mail, re-kommentieren
## - exec: rails r "SiteSetting.notification_email
- exec: echo "Ende benutzerdefinierter Befehle"

Kopieren und fügen Sie dies ein, um zu sehen, ob Formatierungsfehler auftreten.

Ich bin mir nicht sicher, wie ich es einpacken soll, damit es aufgelistet wird…

2023-02-11 19:55:35.034 GMT [42] LOG: fehlende Konfigurationsdatei “/shared/postgres_data/postgresql.auto.conf” wird übersprungen
2023-02-11 19:55:35.035 UTC [42] FATAL: Berechtigungen für Verzeichnis “/shared/postgres_data” konnten nicht gelesen werden: Zugriff verweigert

Versuchen Sie es mit dem Discourse Doctor, da ich Ihnen nicht weiterhelfen kann, da Sie nur einen Fehler wiederholen. Sie müssen nach oben scrollen, nach einer Ursache suchen und Ihre app.yml-Datei überprüfen.

Wenn Sie regelmäßige Server-Backups und/oder Discourse-Backups durchführen, können Sie auch auf diese Weise wiederherstellen. Aber ich glaube, Sie werden Beiträge verlieren, die nach dem Backup erstellt wurden.

Hallo Ratnam,

Vielleicht wäre es eine gute Idee zu erklären, was Sie erreichen möchten und welche Software Sie verwenden, da es im Moment etwas verwirrend ist. Sie posten meist Fehlermeldungen ohne den richtigen Kontext, um sie vollständig zu verstehen.

Bitte beantworten Sie zuerst diese Fragen, und wir werden von hier aus versuchen, weiterzukommen :slight_smile:

  1. Versuchen Sie, ein Produktions-Discourse mit der regulären Docker-Installation zu installieren, indem Sie die hier beschriebenen Schritte befolgen: discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub?

  2. Welches Betriebssystem verwenden Sie?

  3. Was sind Ihre Server-Spezifikationen?

Das sieht nach dem Problem aus, obwohl ich mir nicht vorstellen kann, wie die Änderung der Plugins ein Problem mit den Postgres-Berechtigungen verursacht haben könnte. Haben Sie etwas anderes geändert? Dies ist eine Standardinstallation, oder?

safe-mode wird nicht helfen, da die Seite nicht funktioniert.

Ich habe das Problem behoben, indem ich die Berechtigungen für PostgreSQL-Daten geändert habe. @Canapin @Heliosurge Danke für eure Unterstützung.

Ich habe Folgendes verwendet: Slack
GitHub - discourse/discourse_docker: A Docker image for Discourse /var/discoursed
Betriebssystem – Ubuntu 20.04 LTS
Server – 8 GB RAM, 30 GB

Vielen Dank und beste Grüße

Glückwunsch. Freut mich, dass es gelöst ist. Ich würde empfehlen, vielleicht ein Server-Backup zu erstellen, falls du vor hast, ein Plugin zu installieren.

Aber ehrlich gesagt solltest du auf der sicheren Seite sein, solange du die Plugin-Installation korrekt durchführst. Wenn ich so darüber nachdenke, könnte das Plugin, das du gerade installieren wolltest, ein Update benötigen. Ich erinnere mich, dass die letzte Aktivität im Februar 2022 war? Falls dem so ist, ist es möglicherweise ein Jahr veraltet und Änderungen seitdem haben das Plugin möglicherweise beschädigt.

Bestätigt

Ich würde empfehlen, die Kategorie Customization > Plugin (Anpassung:Plugins) zu durchsuchen und zu sehen, ob dich einige Plugins interessieren.

Discourse Reactions

  • Ist ziemlich cool, da es dir eine Möglichkeit bietet, über einfache Likes hinauszugehen.

National Flags

  • Gibt deinen Mitgliedern die Option, eine Flagge in ihren Beiträgen anzuzeigen.

Discourse Docs

  • Großartig für die Einrichtung einer Wissensdatenbank-Suche. Ein guter Begleiter für Solved.

Discourse Solved

  • Richte eine Kategorie ein, in der Benutzer Fragen stellen können. Der Fragesteller (Originalposter) kann die beste Lösung auswählen, die funktioniert hat. Es ist gut, die Kategorie so einzustellen, dass der erste Beitrag immer angezeigt wird. Die Lösung wird im Beitrag des Originalposters zitiert und als gelöst markiert. Es gibt eine Theme-Komponente, um das Zitat der Lösung schöner zu gestalten.

Discourse Who’s Online

  • Zeigt auf verschiedenen Seiten an, wer online ist. Wenn du einen Beitrag liest und ein Benutzer online ist, wird ein leuchtender Kreis um das Profilbild erscheinen.

Discourse Templates

  • Erstelle Vorlagenantworten, auch „Canned Replies“ genannt. Zu viel, um es hier aufzulisten. Siehe Thema.

Das Wichtigste: Vermeide deprecated (veraltete) und End-of-Life-Plugins. Du möchtest Plugins mit aktiven Wartungsleuten. Zu den guten zählen die offiziellen Discourse-Plugins und die Gruppe Pavilion; es gibt jedoch viele andere, die aktiv gewartet werden, mehr als nur diese beiden von mir genannten Gruppen.