postgresql:terminate hung query

--Find the PID by running this sql:
SELECT pid , query, * from pg_stat_activity
  WHERE state != 'idle' ORDER BY xact_start;
  
--You'll find the pid in the first (left) column, and the first (top) row is likely to be the query you'd like to terminate. 
--I'll assume the pid is 1234 below.
--You may cancel a query through SQL (i.e. without shell access) as long as it's yours or you have super user access:
select pg_cancel_backend(1960);

--This is the "soft" way ... the query won't disappear immediately. If you're in a hurry, try this one instead:
select pg_terminate_backend(1960);

--If you have shell access and root or postgres permissions you can also do it from the shell:
kill -INT 1234

--If that doesn't help, use:
kill 1234

  

posted @ 2019-01-07 12:20  PanPan003  阅读(215)  评论(0编辑  收藏  举报