PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Das Starten eines Postgres-SQL 9.6-Servers unter Amazon Linux gibt einen nicht erkannten Dienst zurück

Habe das gleiche Problem oder ähnliches. Vielleicht habe ich pgsql aus der Quelle installiert, erinnere mich nicht. Wir könnten unsere eigenen Dienststartdateien erstellen. Wie? Lass es uns herausfinden!>>RTFM<

man service

was uns zu chkconfig(8) führt, also

man chkconfig

und es gibt uns eine Option

chkconfig --add ${svcname}

um einen brandneuen Service unter einem von uns gewählten Namen hinzuzufügen!

Aber bevor wir das tun, möchten wir vielleicht tatsächlich überprüfen, was bereits vorhanden ist. Mit

service --status-all

Wir erhalten eine Liste aller bekannten Dienste und deren Ausführungsstatus. Und ich habe "postmaster" in meiner Liste gefunden, und wie Sie vielleicht wissen, hieß der PostgreSQL-Masterserver, zu dem eine Verbindung hergestellt werden soll, früher "postmaster". Doch wenn ich es versuche

service postmaster status

es sagt mir auch, dass es einen solchen Dienst nicht kennt. OK, vergiss es – für den Moment – ​​lass uns einfach weitermachen und unsere eigenen machen! Aber ich möchte trotzdem einen Blick darauf werfen, was es in Runlevel 3 (normaler Server-Runlevel) gibt. Also gehe ich

ls -1 /etc/rc.d/rc3.d |fgrep post

und dort finde ich:"K36postgresql95"! Dementsprechend sollte unser Dienstname "postgresql95" lauten. Das versuchen:

service postgresql95 status

da steht jetzt "postmaster is gestoppt". Verwirrenderweise unterscheidet sich der Name, den der Dienst für sich selbst meldet, sowohl in service --status-all als auch, wenn wir ihn einzeln anfragen, von dem Namen, der verwendet wird, um ihn im Dienstbefehl tatsächlich anzusprechen. Gut zu wissen. Einfach genug, um /etc/rc.d nach dem interessierenden Namen zu durchsuchen.

service postgresql95 start

startet nun den Dienst. Und überprüfen Sie mit

psql -U ${pguser} ${pgdb}

und ich finde das funktioniert. Jetzt muss ich nur noch diesen Dienst beim Systemstart aktivieren, damit er automatisch startet

chkconfig --levels 3 postgresql95 on

und das funktioniert, oder?

PS:Es spielt keine Rolle, dass ich zufällig Version 9.5 verwende