- 如何查看被锁阻塞的进程
select * from pg_locks where granted = 'False';
- 如何查看当前活动的sql
select * from pg_stat_activity where state != 'idle';
- 如何查看表和数据库占用的磁盘空间大小
pg_database_size(name) 指定名称的数据库使用的磁盘空间
pg_table_size(regclass) bigint 指定表OID或表名的表使用的磁盘空间,除去索引(但是包含TOAST,自由空间映射和可视映射)
select pg_database_size('shifenzheng'), pg_size_pretty(pg_database_size('shifenzheng'));
计算数据库的大小(不含索引) pg没有提供计算不含索引的数据库大小的函数,只能通过下面的方式计算。
SELECT sum(pg_table_size(table_name)) FROM (SELECT ('"' || tablename || '"') AS table_name
FROM pg_tables
WHERE schemaname = 'public') AS tn;