YASP (Noch ein anderes Systemproblem)
Die Systemintegration von PostgreSQL in Xenial ist etwas idiosynkratisch.
Die Serviceeinheit postgresql ist nur ein Dummy, der über Serviceabhängigkeiten den Start Ihrer eigentlichen Datenbankinstanz (en) anstoßen soll.
Deshalb heißt es ExecStart=/bin/true
- der Startbefehl der Einheit ist /bin/true
, dh. "Nichts tun, erfolgreich".
Die Instanzen haben eigene Service-Units namens postgresql@<version>-<name>
.
Sie können diese sehen, indem Sie den Befehl
Abhängigkeiten werden vom Skript /lib/systemd/system-generators/postgresql-generator
für alle Instanzen generiert, deren Startmodus auf auto
in ihren jeweiligen start.conf
-Dateien unter /etc/postgresql
gesetzt ist.
Zumindest sollte es so funktionieren.
Hin und wieder funktionieren diese Abhängigkeiten jedoch nicht mehr.
Systemd wird fröhlich Started PostgreSQL RDBMS.
melden, aber in Wirklichkeit nichts getan haben, erfolgreich.
Ihre nächsten Schritte zur Fehlerbehebung sollten daher sein:
list-dependencies
aufgelistet sind. start.conf
-Dateien Ihrer Instanzen. Ich habe ein paar Vorschläge, die helfen können.
Wenn Sie versuchen, sich mit PostgreSQL zu verbinden, versuchen Sie es mit: sudo -u postgres psql
; Ihr Benutzer kann sich jedoch für die Peer-Authentifizierung unterscheiden. also überprüfe die pg_hba.conf
um sicher zu sein; Diese Datei befindet sich in Ihrem $PGDATA
-Verzeichnis.
Ein weiterer Vorschlag ist, dass Sie das Startprotokoll und das globale Syslog überprüfen möchten. Ersteres ist normalerweise in $PGDATA
als pg_startup.log
und letzteres ist /var/log/syslog
.
Ich hatte das gleiche Problem, aber in meinem Fall wurde das Datenlaufwerk beim Neustart des Servers nicht neu gemountet.
Ich weiß, das ist nur einer von vielen möglichen Gründen für Ihr Problem, aber ich denke, es war erwähnenswert! Ich habe das Laufwerk gemountet und Postgresql neu gestartet und alles funktioniert jetzt super.
Tags und Links postgresql ubuntu