如何查询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;sql

相关文章
相关标签/搜索