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

28

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

Comment puis-je éviter ça?

J'ai besoin de le démarrer manuellement et je ne veux pas qu'il démarre sans surveillance car j'ai besoin de regarder la console.

Café noir
la source

Réponses:

48

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é à l' start.confinté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 ne doit être qu'une petite protection pour
# les accidents).

auto

Si vous remplacez auto par manuel , vous pouvez démarrer cette instance PostgreSQL uniquement lorsque 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
Daniel Vérité
la source
3

Court terme

La commande /usr/sbin/update-rc.dest utilisée 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.dpour vous familiariser avec la commande et ses paramètres.

Voici quelques exemples de la page de manuel update-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] disablepour n'importe quel 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, essayezsudo 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.

mikemcc
la source