Vous n'êtes pas identifié(e).
Pages : 1
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
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
avec une commande kill : kill -15 17315 ( par exemple )
bon directement depuis postgres c'est bien aussi
Dernière modification par kenrio (21/02/2018 13:18:56)
Hors ligne
évitez quand même les kill (juste en dernier ressort, on ne sait pas comment pourrait réagir postgresql).
Cordialement,
Sébastien.
Hors ligne
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
oui si vous ne pouvez pas utiliser psql, pas d'autre choix que de killer le process.
Cordialement,
Sébastien.
Hors ligne
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.
Julien.
https://rjuju.github.io/
Hors ligne
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
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.
Julien.
https://rjuju.github.io/
Hors ligne
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
Pages : 1