SELECT
pid
,datname
,usename
,application_name
,client_hostname
,state
,client_port
,backend_start
,query_start
,query
FROM pg_stat_activity
// 监控 Postgres 会话 (SQL)
一些重要的参数需要了解
Pid - 后端进程 ID
Datname - 数据库名称
Username - 运行查询的用户
Application_name - 客户端应用程序名称
State - 会话状态 (例如:active、waiting、idle ...)
Query - 执行的查询
SELECT pg_cancel_backend(pid);
// 取消使用提供的 pid 的正在运行的查询。这在杀死长时间运行的查询时很有用 (SQL)
SELECT
nspname || '.' || relname AS "Object Name", relkind As "Object Type",
pg_size_pretty(pg_relation_size(C.oid)) AS "size"
FROM pg_class C
LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace)
WHERE nspname NOT IN ('pg_catalog', 'information_schema')
ORDER BY pg_relation_size(C.oid) DESC
LIMIT 20;
// 查看前 20 个最大的表/索引 (不包括目录表) (SQL)