postgres监控正在执行的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;



更改数据库编码:

show client_encoding;
set client_encoding='utf-8';



Select 
  b.[Name] 列名,      
  c.[Name] 类型,
  IsNull(e.Value,'') 描述 
From SysObjects a  
Left Outer Join SysColumns b On a.[Id]=b.[Id]
Left Outer Join SysTypes c On b.xUserType=c.xUserType
Left Outer Join sys.extended_properties e On b.id = e.minor_id And b.ColId = e.minor_id 
Where a.[Name]='表名'


根据表名查询表的字段及类型:sqlserver

你可能感兴趣的:(postgres监控正在执行的sql)