查询各数据库占用磁盘大小:
- SELECT d.datname AS Name, pg_catalog.pg_get_userbyid(d.datdba) AS Owner,
- CASE WHEN pg_catalog.has_database_privilege(d.datname, 'CONNECT')
- THEN pg_catalog.pg_size_pretty(pg_catalog.pg_database_size(d.datname))
- ELSE 'No Access'
- END AS SIZE
- FROM pg_catalog.pg_database d
- ORDER BY
- CASE WHEN pg_catalog.has_database_privilege(d.datname, 'CONNECT')
- THEN pg_catalog.pg_database_size(d.datname)
- ELSE NULL
- END DESC -- nulls first
- LIMIT 20
查询数据库中各表占用磁盘大小:
- SELECT
- table_schema || '.' || table_name AS table_full_name,
- pg_size_pretty(pg_total_relation_size('"' || table_schema || '"."' || table_name || '"')) AS size
- FROM information_schema.tables
- ORDER BY
- pg_total_relation_size('"' || table_schema || '"."' || table_name || '"') DESC