```postgresql SELECT locker.pid, pc.relname, locker.mode, locker_act.application_name, least(query_start,xact_start) start_time, locker_act.state, CASE WHEN granted='f' THEN 'wait_lock' WHEN granted='t' THEN 'get_lock' END lock_satus,current_timestamp - least(query_start,xact_start) AS runtime, locker_act.query FROM pg_locks locker,pg_stat_activity locker_act, pg_class pc WHERE locker.pid=locker_act.pid AND NOT locker.pid=pg_backend_pid() AND application_name<>'pg_statsinfod' AND locker.relation = pc.oid AND pc.reltype<>0 --and pc.relname='t' ORDER BY runtime desc; SELECT pg_terminate_backend(14448) ``` ``` SELECT w1.pid AS 等待进程, w1.MODE AS 等待锁模式, w2.usename AS 等待用户, w2.query AS 等待会话, b1.pid AS 锁的进程, b1.MODE 锁的锁模式, b2.usename AS 锁的用户, b2.query AS 锁的会话, b2.application_name 锁的应用, b2.client_addr 锁的 IP地址, b2.query_start 锁的语句执行时间 FROM pg_locks w1 JOIN pg_stat_activity w2 ON w1.pid = w2.pid JOIN pg_locks b1 ON w1.transactionid = b1.transactionid AND w1.pid != b1.pid JOIN pg_stat_activity b2 ON b1.pid = b2.pid WHERE NOT w1.GRANTED; ``` ```postgresql -- 查看表的总大小,包括索引大小 select pg_size_pretty(pg_total_relation_size('test')); -- 以KB,MB,GB的方式来查看表大小 select pg_size_pretty(pg_relation_size('test')); -- 查看最大连接数 show max_connections; -- 查看当前连接数 SELECT COUNT(*) from pg_stat_activity; ```