Verhindern, dass PostgreSQL beim Booten in Ubuntu gestartet wird

28

Ich benutze PostgreSQL 9.2 und es läuft automatisch, wenn ich das System starte (Kubuntu).

Wie kann ich das vermeiden?

Ich muss es manuell starten und möchte nicht, dass es unbeaufsichtigt gestartet wird, da ich auf die Konsole schauen muss.

DarkCoffee
quelle

Antworten:

48

Ubuntu oder Debian können mehrere Instanzen von PostgreSQL ausführen und bieten eine spezielle Möglichkeit zum automatischen Starten / Stoppen / Starten jedes Clusters.

Es sollte eine Datei mit dem Namen start.confinside /etc/postgresql/9.2/main(oder allgemeiner / etc / postgresql / < version > / < clustername >) mit diesen selbsterklärenden Inhalten geben:

# Automatische Startkonfiguration
# auto: Startet / stoppt den Cluster automatisch im Init-Skript
# manual: In Init-Skripten nicht starten / stoppen, sondern manuell starten mit
# pg_ctlcluster
# disabled: manuellen Start mit pg_ctlcluster nicht zulassen (dies kann einfach sein)
# umgangen und soll nur einen kleinen Schutz für
# Unfälle).

Auto

Wenn Sie auto durch manual ersetzen , können Sie diese PostgreSQL-Instanz nur bei Bedarf mit dem folgenden Befehl starten:

sudo pg_ctlcluster 9.2 main start

Was die Konsole angeht, sollten Sie stattdessen Folgendes in einem Terminal ausführen lassen, wenn Sie mit der Datenbank arbeiten:

tail -f /var/log/postgresql/postgresql-9.2-main.log
Daniel Vérité
quelle
3

Kurzfristig

Der Befehl /usr/sbin/update-rc.dwird verwendet, um Dienste zu starten, zu stoppen, zu aktivieren oder zu deaktivieren (dh um Init-Skript-Links im System-V-Stil aus /etc/init.d/ zu entfernen).

Geben Sie man update-rc.dFolgendes ein, um sich mit dem Befehl und seinen Parametern vertraut zu machen.

Hier einige Beispiele aus der Manualpage update-rc.d ubuntu 16.10 (yakkety) :

update-rc.d -f foobar remove
update-rc.d foobar stop 20 2 3 4 5

Geben Sie dann etwas entlang der Linien von sudo update-rc.d [service] disablefür jeden Dienst in Ihrem /etc/init.d/ Verzeichnis aufgeführt. Dadurch wird verhindert, dass [service] beim Booten gestartet wird. Wenn Sie den Dienst auch sofort beenden möchten, versuchen Sie essudo service [service] stop

Langfristig

Sie müssen PostgreSQL wahrscheinlich nicht manuell ausführen, um die Konsolenausgabe anzuzeigen. Sie müssen nur diese Ausgabe protokollieren und die Protokolldatei abschließen.

mikemcc
quelle