vendredi 30 septembre 2016

PostGreSQL - How to stop a query

Afficher les processus en cours


SELECT * from pg_stat_activity; 

 datid |   datname   |  pid  | usesysid | usename  |          application_name           | client_addr | client_hostname | client_port |         backend_start         |          xact_start           |          query_start          |         state_change          | waiting | state  |                                                      query
-------+-------------+-------+----------+----------+-------------------------------------+-------------+-----------------+-------------+-------------------------------+-------------------------------+-------------------------------+-------------------------------+---------+--------+------------------------------------------------------------------------------------------------------------------
 12035 | postgres    | 21105 |    16384 | xxxxxxxx | pgAdmin III - Navigateur            | 127.0.0.1   |                 |       33104 | 2016-09-30 08:45:24.639032+02 |                               | 2016-09-30 08:45:32.628846+02 | 2016-09-30 08:45:32.629749+02 | f       | idle   | SELECT count(*) FROM pg_attribute WHERE attrelid = 'pg_catalog.pg_proc'::regclass AND attname = 'proargdefaults'



Stopper le processus concerné

  • Repérerer le pid de la requête à stopper
  • Utiliser la commande suivante :
SELECT pg_cancel_backend(pid of the postgres process);

dans notre exemple, c'est le processus 21105 qui doit être stoppé :
SELECT pg_cancel_backend(21105 );

Résultat :
 pg_cancel_backend
-------------------
 t
(1 ligne)




Have Fun !

Aucun commentaire:

Enregistrer un commentaire