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  -- 替换为实际数据目录
相关推荐
风早爽太29 分钟前
Python 学习笔记:数据库迁移工具 ‌Alembic
数据库·python·fastapi·alembic
java1234_小锋1 小时前
【技术专题】Mysql8 数据库 - Mysql8 数据库基本操作
数据库·mysql
其实防守也摸鱼1 小时前
DeepSeek Harness 开源贡献手记:从 Issue 到 Merge 的完整旅程
android·数据库·学习·ai·oracle·自动化
jason.zeng@15022071 小时前
canal做mysql的异步传输工具
数据库·mysql·linq
Ivanqhz2 小时前
BURG(自底向上重写生成器)
服务器·数据库·人工智能·深度学习·算法
仍然.2 小时前
Redis---主从复制
java·数据库·redis
其实防守也摸鱼2 小时前
网安自测题:掌握核心知识点的实用练习
linux·运维·服务器·前端·数据库·sql·xss
数字化顾问2 小时前
(142页PPT)PLM+ERP系统选型及建设方案建议书(附下载方式)
数据库
木白CPP2 小时前
[QNX] 深入理解 Resource Manager 接口设计
linux·服务器·数据库
Shadow(⊙o⊙)2 小时前
MySQL C/C++链接MySQL使用
数据库·sql·mysql