Postgres Verbindungsfehler bei 'bundle exec rails c'

Ich versuche, einige Foreneinstellungen über die Konsole zu ändern. Das habe ich noch nicht oft gemacht, daher habe ich auf dem Forum nach ähnlichen Fragen gesucht.

Leider erhalte ich beim Ausführen von ‘bundle exec rails c’ eine Fehlermeldung, die mit dieser Zeile endet

/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/activerecord-6.1.4.7/lib/active_record/connection_adapters/postgresql_adapter.rb:81:in `rescue in new_client': connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: FATAL: Peer authentication failed for user "discourse" (ActiveRecord::NoDatabaseError)

Irgendeine Idee, was da los ist? Das Forum selbst läuft einwandfrei – wurde gerade erst am anderen Tag auf die neueste Version aktualisiert.

Ich greife über den Server auf die Rails-Konsole zu, indem ich Folgendes verwende:

cd /var/discourse
./launcher enter app
rails c

In diesem Thema, Enable setting to allow admins to permanently delete data (dies ist eine versteckte Einstellung, aber die Methode ist dieselbe), gibt es ein Beispiel zum Ändern einer Website-Einstellung.

2 „Gefällt mir“

Danke, ich glaube, ich habe beides verwechselt – ich habe bundle exec aus der App heraus ausgeführt.

Ich kämpfe aber immer noch. Ich möchte den IP-Regex für das Prometheus Exporter Plugin ändern.

Ich bin mir nicht sicher, welche Syntax gut geeignet ist. Ich habe versucht:

SiteSetting.prometheus_trusted_ip_allowlist_regex=1.2.3.4 mit Maskierung von Backslashes und Anführungszeichen darum, aber nichts hat funktioniert. 1.2.3.4 ist ein Platzhalter für meine echte IP.

Tatsächlich ist mir gerade aufgefallen, dass es wahrscheinlich kein Syntaxproblem ist

SiteSetting.prometheus_trusted_ip_allowlist_regex="123.145.167.189"
NoMethodError: undefined method `prometheus_trusted_ip_allowlist_regex=' for #<Class:0x000055a8093e7dd8>

Vielleicht kann @sam dabei helfen. Oder ich mache hier wirklich einen Fehler. :thinking:

Sie müssen DISCOURSE_PROMETHEUS_TRUSTED_IP_ALLOWLIST_REGEX und eine Umgebungsvariable in Ihrer app.yml-Datei festlegen.

1 „Gefällt mir“

Korrigieren Sie mich, wenn ich falsch liege, aber ich dachte, ich könnte es zuerst zur Laufzeit festlegen. Muss ich es also zuerst in app.yml festlegen, um es dann zur Laufzeit ändern zu können?

Das Forum ist ziemlich beschäftigt, daher hoffte ich, es zuerst zur Laufzeit festlegen zu können, bevor ich es dauerhaft in der ENV festlege.

Irgendwelche Hinweise zur Syntax? Kann das einfach so sein?

DISCOURSE_PROMETHEUS_TRUSTED_IP_ALLOWLIST_REGEX: 123.145.167.189

Keine Laufzeitänderungen, nur über die ENV.

Es ist ein Ruby Regex-Objekt, siehe https://rubular.com/

Ja, das funktioniert.

2 „Gefällt mir“