如何查看PostgreSQL正在执行的SQL

SELECT 
    procpid, 
    start, 
    now() - start AS lap, 
    current_query 
FROM 
    (SELECT 
        backendid, 
        pg_stat_get_backend_pid(S.backendid) AS procpid, 
        pg_stat_get_backend_activity_start(S.backendid) AS start, 
       pg_stat_get_backend_activity(S.backendid) AS current_query 
    FROM 
        (SELECT pg_stat_get_backend_idset() AS backendid) AS S 
    ) AS S 
WHERE 
   current_query <> '<IDLE>' 
ORDER BY 
   lap DESC;

 

procpid:进程id
start:进程开始时间
lap:经过时间
current_query:执行中的sql

怎样停止正在执行的sql
SELECT pg_cancel_backend(进程id);

或者用系统函数

kill -9 进程id;

posted @ 2018-01-09 10:39  553490191  阅读(12877)  评论(0编辑  收藏  举报