Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 26/02/2018 13:48:44
- lajoumard
- Membre
pg_ctl vs systemctl
Bonjour,
J'ai installé un moteur postgres 9.5 sur une redhat 7. J'arrive bien à la démarrer/arrêter avec systemctl et pg_ctl dans presque tous les cas sauf :
Si je démarre l'instance avec "pg_ctl start" je ne peux pas l'arrêter ni demander son statut avec systemctl . Je suis obligé de l'arrêter avec pg_ctl puis de la redémarrer avec systemctl.
La sortie.
pg_ctl start (avec user postgres
serveur en cours de démarrage
-bash-4.2$ 2018-02-26 12:43:35 CET [52755]: [1-1]LOG: redirecting log output to logging collector process
2018-02-26 12:43:35 CET [52755]: [2-1]HINT: Future log output will appear in directory "pg_log".
ps -fu postgres
UID PID PPID C STIME TTY TIME CMD
postgres 50089 50088 0 11:42 pts/1 00:00:00 -bash
postgres 52755 1 0 12:43 pts/2 00:00:00 /usr/pgsql-9.5/bin/postgres
postgres 52756 52755 0 12:43 ? 00:00:00 postgres: logger process
postgres 52758 52755 0 12:43 ? 00:00:00 postgres: checkpointer process
postgres 52759 52755 0 12:43 ? 00:00:00 postgres: writer process
postgres 52760 52755 0 12:43 ? 00:00:00 postgres: wal writer process
postgres 52761 52755 0 12:43 ? 00:00:00 postgres: autovacuum launcher process
postgres 52762 52755 0 12:43 ? 00:00:00 postgres: archiver process
postgres 52763 52755 0 12:43 ? 00:00:00 postgres: stats collector process
postgres 52764 52755 0 12:43 ? 00:00:00 postgres: bgworker: pglogical supervisor
postgres 52767 52755 0 12:43 ? 00:00:00 postgres: bgworker: pglogical manager 16386
J'essaye de demander le status avec systemctl (en root)
systemctl status postgresql-9.5 -l
● postgresql-9.5.service - PostgreSQL 9.5 database server
Loaded: loaded (/usr/lib/systemd/system/postgresql-9.5.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since lun. 2018-02-26 11:44:33 CET; 1h 1min ago
Process: 50283 ExecStop=/usr/pgsql-9.5/bin/pg_ctl stop -D ${PGDATA} -s -m fast (code=exited, status=1/FAILURE)
Process: 50257 ExecStart=/usr/pgsql-9.5/bin/pg_ctl start -D ${PGDATA} -s -w -t 300 (code=exited, status=0/SUCCESS)
Process: 50251 ExecStartPre=/usr/pgsql-9.5/bin/postgresql95-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
Main PID: 50260 (code=exited, status=0/SUCCESS)
févr. 26 11:44:24 srisvm-europapivotbdd01 systemd[1]: Starting PostgreSQL 9.5 database server...
févr. 26 11:44:24 srisvm-europapivotbdd01 pg_ctl[50257]: 2018-02-26 11:44:24 CET [50260]: [1-1]LOG: redirecting log output to logging collector process
févr. 26 11:44:24 srisvm-europapivotbdd01 pg_ctl[50257]: 2018-02-26 11:44:24 CET [50260]: [2-1]HINT: Future log output will appear in directory "pg_log".
févr. 26 11:44:25 srisvm-europapivotbdd01 systemd[1]: Started PostgreSQL 9.5 database server.
févr. 26 11:44:33 srisvm-europapivotbdd01 pg_ctl[50283]: pg_ctl : le fichier de PID « /base/europa/postmaster.pid » n'existe pas
févr. 26 11:44:33 srisvm-europapivotbdd01 pg_ctl[50283]: Le serveur est-il en cours d'exécution ?
févr. 26 11:44:33 srisvm-europapivotbdd01 systemd[1]: postgresql-9.5.service: control process exited, code=exited status=1
févr. 26 11:44:33 srisvm-europapivotbdd01 systemd[1]: Unit postgresql-9.5.service entered failed state.
févr. 26 11:44:33 srisvm-europapivotbdd01 systemd[1]: postgresql-9.5.service failed.
Le fichier postmater existe pourtant bien avec les bons droits .
[root@srisvm-europapivotbdd01 ~]# ll /base/europa/postmaster.pid
-rw------- 1 postgres postgres 77 26 févr. 12:43 /base/europa/postmaster.pid
Si vous avez une idée?
merci
Hors ligne
#2 27/02/2018 10:54:43
- gleu
- Administrateur
Re : pg_ctl vs systemctl
Pas d'idée particulièrement (en dehors du fait que systemd fait certainement des trucs dans votre dos), mais mixer les outils est généralement considéré comme une très mauvaise pratique. Soit vous utilisez pg_ctl, soit vous utilisez systemd, mais pas les deux. Et comme les packages utilisent systemd, je dirais qu'il faut passer par systemd.
Guillaume.
Hors ligne
Pages : 1