samedi 30 mai 2020

Deuxième service postgresql

J'installe postgresql 10, je pousuis par la création d'un utilisateur et d'une base de données (bdtest).
Ensuite j'effectue quelques petits changements sur les fichiers pg_hba.conf et pg_ident.conf (situés dans /etc/postgresql/10/main/ ou ailleurs, ça dépend des distributions). Ces changements nécessitent un redémarrage de postgresql.

$ sudo systemctl restart postgresql

Problème:

$ psql bdtest
psql: could not connect to server: Aucun fichier ou dossier de ce type
 Is the server running locally and accepting
 connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

Pas de soucis, la commande suivante va me donner les info adéquates:

$ systemctl status postgresql

● postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: active (exited) since Wed 2020-05-27 17:04:51 +04; 2min 20s ago
  Process: 3277 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
 Main PID: 3277 (code=exited, status=0/SUCCESS)

mai 27 17:04:51 michel-rigel systemd[1]: Starting PostgreSQL RDBMS...
mai 27 17:04:51 michel-rigel systemd[1]: Started PostgreSQL RDBMS.

Tous semble normal.
Il y a quand même un gros problème:

$ ss -nlt | grep 5432

Aucun retour!
Je continue à investiguer:

$ systemctl list-units postgresql*
  UNIT                       LOAD   ACTIVE SUB    DESCRIPTION               
  postgresql.service         loaded active exited PostgreSQL RDBMS          
● postgresql@10-main.service loaded failed failed PostgreSQL Cluster 10-main

En fait un deuxième service s'est planté.

La commande

$ systemctl status postgresql@10-main

donne maintenant les infos qui permettent de corriger le problème (une erreur dans pg_hba.conf).
Je corrige l'erreur puis

$ sudo systemctl restart postgresql

et ça repart.