PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 31/10/2017 10:50:18

Ulysse
Membre

Linux: Systemd plusieurs services Postgresql ?

Bonjour.

Je suis sous Linux Mint 18, anciennement 17.3 mais upgradé.
Durant l'upgrade, Postgresql est passé de la version 9.3 à la 9.5 et c'est tant mieux.

Par contre, c'est un peu confus avec systemd. Lorsque je lance la commande pour lister les services du système ( systemctl list-units --type=service --all ) , je vois apparaître trois services postgresql :

  postgresql.service                             loaded active exited    PostgreSQL RDBMS
● postgresql@9.3-main.service                    loaded failed failed    PostgreSQL Cluster 9.3-main
  postgresql@9.5-main.service                    loaded active running   PostgreSQL Cluster 9.5-main

Le package de Postgresql 9.3 n'est plus installé sur l'ordinateur et c'est donc normal que le démarrage de ce service plante. Mais bon, l'ordinateur mouline pour rien au démarrage.
Par contre, je n'arrive pas à empêcher :
- la tentative de démarrage automatique de Postgresql 9.3 qui ne sert à rien
- le démarrage automatique de Postgresql 9.5, car je voudrais que le Postgresql soit lancé uniquement sur commande manuelle.

Les commandes "systemctl disable postgresql@9.3-main.service" (et idem pour 9.5) n'ont pas eu d'effet.

Dans /etc/systemd/system/multi-user.target.wants j'ai bien un fichier postgresql.service, mais je n'en trouve pas d'autre.

Hors ligne

#2 31/10/2017 11:19:12

ioguix
Administrateur

Re : Linux: Systemd plusieurs services Postgresql ?

Bonjour,

Les services "postgresql@..." sont déduits d'un template "/lib/systemd/system/postgresql@.service".

Si vous regardez le contenu du template, vous verrez:

* "ConditionPathExists=/etc/postgresql/%I/postgresql.conf": si le fichier de conf existe, le service existe
* "Before=postgresql.service": si le service "postgresql.service" est démarré, ces services doivent l'être en premier

Donc, si vous souhaitez désactiver tout postgresql au démarrage, il faut désactiver le service "postgresql.service".

Si vous ne souhaiter que désactiver une instance parmi d'autres, il faut éditer le fichier "/etc/postgresql/%I/main/start.conf" correspondant.

Si vous souhaitez vous débarrasser du service "postgresql@9.3-main.service", archivez le contenu de  "/etc/postgresql/9.3" et potentiellement de ses fichiers de données.

Hors ligne

#3 31/10/2017 12:05:47

Ulysse
Membre

Re : Linux: Systemd plusieurs services Postgresql ?

C'est parfait, merci !

J'ai fait une archive avec les fichiers de conf de la version 9.3 et arrêté l'ensemble de postgresql.

Hors ligne

Pied de page des forums