-
查看单库大小
SELECT pg_size_pretty(pg_database_size('数据库名'));
-
查看所有库大小
-- 列出所有数据库名称及大小(格式化)
SELECT
datname AS "数据库名",
pg_size_pretty(pg_database_size(datname)) AS "大小"
FROM pg_database
ORDER BY pg_database_size(datname) DESC; -
查看数据库各个表大小
-- 查看指定数据库中各表的大小(含索引)
-- 需先连接到目标数据库执行
SELECT
schemaname || '.' || tablename AS "表名",
pg_size_pretty(pg_total_relation_size(tablename)) AS "总大小(含索引)",
pg_size_pretty(pg_relation_size(tablename)) AS "数据大小",
pg_size_pretty(pg_indexes_size(tablename)) AS "索引大小"
FROM pg_tables
WHERE schemaname = 'public' -- 指定模式(如public)
ORDER BY pg_total_relation_size(tablename) DESC; -
查看磁盘占用
PostgreSQL 数据默认存储在data_directory目录下,可通过以下命令查看:
sql
-- 查看数据存储目录
SHOW data_directory;
然后通过系统命令(如du)查看目录大小:
bash
运行
# Linux/macOS下查看目录总大小
du -sh /var/lib/postgresql/14/main -- 替换为实际数据目录