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

#1 21/02/2018 12:29:09

samirca007
Membre

tuer un processus postgres

bonjour a tous

je débute en Postgresql et je ne suis pas un dba et je ne suis un admin linux je suis un simple informaticien

dans l'absence de notre dba un de nos client ma demandé de tuer une requête consommatrice

j'ai lancer

ps aux |grep postgres

  pour voir les liste des processus je viens d'avoir ces résultats

postgres   880  0.0  0.5 17270068 377028 ?     S    janv.16   2:30 /usr/lib/postgresql/9.1/bin/postgres -D /var/lib/postgresql/9.1/main -c config_file=/etc/postgresql/9.1/main/postgresql.conf
postgres   948  0.0 10.8 17278816 7130728 ?    Ss   janv.16  30:33 postgres: writer process                                                                                 
postgres   949  0.0  0.0 17278264 19872 ?      Ss   janv.16   6:32 postgres: wal writer process                                                                             
postgres   950  0.0  0.0 17279728 5780 ?       Ss   janv.16   3:27 postgres: autovacuum launcher process                                                                    
postgres   951  0.0  0.0  75836  3152 ?        Ss   janv.16   1:30 postgres: archiver process   last was 000000040000120D000000F2                                           
postgres   952  0.0  0.0  76708  3592 ?        Ss   janv.16   7:18 postgres: stats collector process                                                                                                                   
postgres 17315  0.0  0.0 17284436 17432 ?      Ss   11:09   0:00 postgres: monpri_production  monpri_production 112.28.227.14(37722) idle   

                         

comment je peut tuer ce processus   

postgres 17315  0.0  0.0 17284436 17432 ?      Ss   11:09   0:00 postgres: monpri_production  monpri_production 112.28.227.14(37722) idle  

merci pour vos aide

Hors ligne

#2 21/02/2018 13:14:36

ruizsebastien
Membre

Re : tuer un processus postgres

bonjour,

Il existe des fonctions pour faire ça :
https://docs.postgresql.fr/9.6/functions-admin.html

donc pour vous ce serait quelque chose comme ça :
select pg_terminate_backend(17315);


Cordialement,

Sébastien.

Hors ligne

#3 21/02/2018 13:18:29

kenrio
Membre

Re : tuer un processus postgres

avec une commande kill : kill -15 17315 ( par exemple )

bon directement depuis postgres c'est bien aussi yikes

Dernière modification par kenrio (21/02/2018 13:18:56)

Hors ligne

#4 21/02/2018 13:19:46

ruizsebastien
Membre

Re : tuer un processus postgres

évitez quand même les kill (juste en dernier ressort, on ne sait pas comment pourrait réagir postgresql).


Cordialement,

Sébastien.

Hors ligne

#5 21/02/2018 13:26:50

samirca007
Membre

Re : tuer un processus postgres

le problème que j'ai pas le password du compte postgres donc je ne peut pas connecter en mode psql

je doit le tuer a travers une commande linux ?

Hors ligne

#6 21/02/2018 13:28:21

ruizsebastien
Membre

Re : tuer un processus postgres

oui si vous ne pouvez pas utiliser psql, pas d'autre choix que de killer le process.


Cordialement,

Sébastien.

Hors ligne

#7 21/02/2018 13:58:36

rjuju
Administrateur

Re : tuer un processus postgres

Techniquement, pg_terminate_backend() enverra un SIGTERM sur le processus, donc cela ne pose pas de problème à proprement parler.  Par contre, vous faites sauter toutes les sécurités (avoir le droit d'envoyer le signal, s'assurer qu'il s'agit bien d'un process postgres et que c'est bien un SIGTERM qui est envoyé).

N'utilisez surtout jamais de SIGKILL, postgres n'aurait pas d'autre choix que de redémarrer l'instance.

Hors ligne

#8 21/02/2018 15:54:04

kenrio
Membre

Re : tuer un processus postgres

J'utilise tout le temps un kill -15 ( sigterm ) j'ai du une fois utilisé le sigkill j'ai pas constaté de redémarrage d'instance, tu veux dire quoi par la exactement ?

Hors ligne

#9 21/02/2018 16:43:06

rjuju
Administrateur

Re : tuer un processus postgres

Un arrêt brutal et immédiat, suivit des entrées suivantes dans les logs:

terminating connection because of crash of another server process

The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory.
In a moment you should be able to reconnect to the database and repeat your command.

Hors ligne

#10 21/02/2018 16:59:46

kenrio
Membre

Re : tuer un processus postgres

Ok merci, j'aurais du aller voir mes logs après pour voir ( c'était sur un serveur de dev donc je m'en foutais... )

Hors ligne

Pied de page des forums