postgres查看数据库大小

  1. 查看单库大小

    SELECT pg_size_pretty(pg_database_size('数据库名'));

  2. 查看所有库大小

    -- 列出所有数据库名称及大小(格式化)
    SELECT
    datname AS "数据库名",
    pg_size_pretty(pg_database_size(datname)) AS "大小"
    FROM pg_database
    ORDER BY pg_database_size(datname) DESC;

  3. 查看数据库各个表大小

    -- 查看指定数据库中各表的大小(含索引)
    -- 需先连接到目标数据库执行
    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;

  4. 查看磁盘占用

PostgreSQL 数据默认存储在data_directory目录下,可通过以下命令查看:

sql

复制代码
-- 查看数据存储目录
SHOW data_directory;

然后通过系统命令(如du)查看目录大小:

bash

运行

复制代码
# Linux/macOS下查看目录总大小
du -sh /var/lib/postgresql/14/main  -- 替换为实际数据目录
相关推荐
Elastic 中国社区官方博客10 小时前
Elastic 线下 Meetup 将于 2026 年 7 月 26 号下午在深圳举行
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
YL2004042611 小时前
【Redis实战篇】秒杀实现方案(以优惠券秒杀为例)
数据库·redis
DIY源码阁11 小时前
JavaSwing宿舍管理系统 - MySQL版
java·数据库·mysql·eclipse
cfm_291411 小时前
MySQL8.0 InnoDB Cluster
数据库·mysql
kTR2hD1qb11 小时前
Claude Code Skill的介绍与使用
java·前端·数据库·人工智能
一 乐11 小时前
汽车租赁|基于SprinBoot+vue的汽车租赁管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·汽车·论文·毕设·汽车租赁管理系统
zandy101111 小时前
衡石科技 NL2Metrics 技术深度解析(2026):ChatBI 准确度破局的关键路径
数据库·科技·oracle
Elastic 中国社区官方博客12 小时前
Elasticsearch 如何通过 synthetic _id 和 Bloom filters 将时序存储降低 34%
大数据·数据库·elasticsearch·搜索引擎·serverless·全文检索·时序数据库