web-dev-qa-db-fra.com

Empêcher PostgreSQL de démarrer au démarrage dans Ubuntu

J'utilise PostgreSQL 9.2 et il s'exécute automatiquement lorsque je démarre le système (Kubuntu).

Comment puis-je éviter ça?

Je dois le démarrer manuellement et je ne veux pas qu'il démarre sans surveillance, car je dois regarder la console.

29
DarkCoffee

Ubuntu ou Debian peuvent exécuter plusieurs instances de PostgreSQL et fournir un moyen spécifique de démarrer/arrêter/démarrer automatiquement chaque cluster.

Il devrait y avoir un fichier nommé start.conf à l'intérieur /etc/postgresql/9.2/main (ou plus généralement/etc/postgresql/<version>/<clustername>) avec ces contenus explicites:

 # Configuration de démarrage automatique 
 # Auto: démarrer/arrêter automatiquement le cluster dans le script init 
 # Manual: ne pas démarrer/arrêter dans les scripts init, mais autoriser le démarrage manuel avec 
 # pg_ctlcluster 
 # désactivé: ne pas autoriser le démarrage manuel avec pg_ctlcluster (cela peut être facilement 
 # contourné et est uniquement destiné à être une petite protection contre 
 # accidents ).

auto

Si vous remplacez auto par manual, vous ne pouvez démarrer cette instance PostgreSQL que si vous le souhaitez avec la commande:

Sudo pg_ctlcluster 9.2 main start

Pour ce qui est de regarder la console, ce que vous devriez plutôt souhaiter, c'est l'exécuter dans un terminal lorsque vous travaillez avec la base de données:

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

Court terme

La commande /usr/sbin/update-rc.d est utilisé pour démarrer, arrêter, activer ou désactiver des services (c'est-à-dire supprimer les liens de script d'initialisation de style System-V de /etc/init.d/).

Tapez man update-rc.d pour vous familiariser avec la commande et ses paramètres.

Voici quelques exemples de la page de manuel pdate-rc.d ubuntu 16.10 (yakkety) :

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

Tapez ensuite quelque chose dans le sens de Sudo update-rc.d [service] disable pour tout service répertorié dans votre répertoire /etc/init.d/. Cela empêchera [service] de démarrer au démarrage. Si vous souhaitez également arrêter le service immédiatement, essayez Sudo service [service] stop

Long terme

Vous n'avez probablement pas besoin d'exécuter PostgreSQL manuellement pour voir la sortie de sa console. Il vous suffit de consigner cette sortie et de suivre le fichier journal.

3
mikemcc