当前位置: 代码迷 >> SQL >> PG惯用SQL
  详细解决方案

PG惯用SQL

热度:58   发布时间:2016-05-05 10:55:09.0
PG常用SQL

一、查看当前数据库连接

SELECT pg_stat_get_backend_pid(s.backendid) AS procpid,       pg_stat_get_backend_activity(s.backendid) AS current_query    FROM (SELECT pg_stat_get_backend_idset() AS backendid) AS s;

二、查看当前正在运行sql

SELECT    procpid,    start,    now() - start AS lap,    current_queryFROM    (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 SWHERE   current_query <> '<IDLE>'ORDER BY   lap DESC;

三、查看指定表字段名

    SELECT col_description(a.attrelid,a.attnum) as comment,format_type(a.atttypid,a.atttypmod) as type,a.attname as name, a.attnotnull as notnull    FROM pg_class as c,pg_attribute as a    where c.relname = 'tablename' and a.attrelid = c.oid and a.attnum>0;


四、like多个模式

WHERE somecolumn ~~* any(array['%some%', '%someelse']));

五、删除连接

 select pg_terminate_backend(pid)               from pg_stat_activity              where pid == pid_number


  相关解决方案