检查 PostgreSQL 集群中各数据库大小:\l+ 元命令与 pg_database_size 查询实战
文档教程知识库【免费下载链接】til:memo: Today I Learned项目地址https://gitcode.com/gh_mirrors/ti/til点击查看免费下载导读在管理一个 PostgreSQL 服务器实例集群时快速摸清每个数据库占用的磁盘空间是容量规划与运维排障的常见需求。本文围绕 check-the-size-of-databases-in-a-cluster.md 的核心内容系统讲解两种检查集群内全部数据库大小的方法一是psql交互式客户端自带的\l/\l元命令二是直接查询系统目录pg_database并结合pg_database_size()、pg_size_pretty()管理函数编写 SQL。读完本文你将能随时以人类可读的格式列出集群内每个数据库的磁盘占用并按大小排序定位大头数据库。方法一使用 psql 元命令\l与\lPostgreSQL 自带的命令行客户端psql提供了一系列以反斜杠开头的元命令meta-command其中\l用于列出服务器上的所有数据库。在psql提示符下直接输入\l即可看到集群内全部数据库的清单。该命令默认展示的字段包括Name数据库名称Owner数据库属主roleEncoding字符编码Locale Provider区域设置提供方如 libc、icuCollate排序规则Ctype字符分类规则ICU LocaleICU 区域设置ICU RulesICU 自定义规则Access privileges访问权限ACL加一个多出三个字段如果追加一个加号将命令写成\l则在上述字段之外还会额外返回三列Size每个数据库的磁盘占用大小已按人类可读格式格式化如12 MBTablespace数据库所在表空间Description数据库注释说明其中Size列正是每个数据库经过格式化后的大小一眼即可对比出各库的体量差异。值得说明的是\l背后的查询实际上是对系统目录的封装。如果想知道这个元命令到底执行了什么 SQL可以在psql中执行\set ECHO_HIDDEN true再运行\lpsql就会把背后生成的查询语句一并打印出来——这也是 show-the-hidden-queries-behind-backslash-commands.md 中演示的调试技巧。方法二用 SQL 查询系统目录pg_database\l虽然方便但输出顺序与可定制性有限。如果需要按大小降序排列、只取特定字段或在脚本中复用可以直接查询 PostgreSQL 的记录系统目录。psql的\l系列命令本质上就是在读取这张系统表可参考 list-all-the-databases.md 中对pg_database的说明。pg_database系统目录中每一行对应集群内的一个数据库其中datname列保存数据库名称。结合两个管理函数即可算出各库大小pg_database_size(datname)返回指定数据库占用的字节数bigint详见 get-the-size-of-a-database.mdpg_size_pretty(bigint)把字节数转换为最合适的人类可读单位如kB、MB、GB详见 pretty-print-data-sizes.md。以下查询会列出集群内所有数据库及其大小并按大小从大到小排序select db.datname as db_name, pg_size_pretty(pg_database_size(db.datname)) as db_size from pg_database db order by pg_database_size(db.datname) desc;对查询结果稍作分析db.datname取自pg_database目录代表每个数据库的名称pg_database_size(db.datname)先以字节为单位算出原始大小供order by精确排序pg_size_pretty(...)负责将原始字节数包装成kB/MB/GB等可读格式呈现在db_size列由于排序依据是原始字节数而非格式化后的字符串所以即使大小相差很多倍GB与MB之间也能得到正确的数值顺序不会出现字典序错乱。深入理解从单库大小到集群全貌pg_database_size()并不只能用于集群级统计。单独查看某个数据库的大小时可以直接传入数据库名select pg_size_pretty(pg_database_size(hr_hotels)); -- 输出示例12 MB这与上文集群查询使用的是同一套函数区别仅在于作用范围。若需要继续下钻到更细粒度PostgreSQL 还提供了一组同族管理函数可用于排查集群中某个库的体重究竟来自哪些对象pg_relation_size(表名或索引名)返回指定表或索引占用的字节数参见 get-the-size-of-a-table.md 与 get-the-size-of-an-index.md组合使用pg_size_pretty(pg_relation_size(...))即可得到表级、索引级的可读大小参见 get-the-size-on-disk-of-an-index.md。从实践角度看一个典型的排查路径是先用\l或上述 SQL 找出集群中最大的数据库再用\d查看该库内各表及其索引的名称最后逐表计算pg_relation_size()定位占用最高的对象。小结交互式场景在psql中输入\l查看数据库清单输入\l额外获得Size、Tablespace、Description三列其中 Size 列即每个数据库的可读大小。脚本化 / 排序场景直接查询pg_database系统目录用pg_database_size()取字节数、pg_size_pretty()格式化、order by pg_database_size(db.datname) desc按真实大小降序排列。排查深挖结合pg_relation_size()与\d将统计粒度从数据库下钻到表与索引形成完整的容量分析链路。调试元命令设置\set ECHO_HIDDEN true可查看\l背后实际执行的 SQL理解元命令与系统目录之间的关系。上述方法均基于 PostgreSQL 内建的管理函数与系统目录不依赖任何第三方扩展适用于大多数标准 PostgreSQL 部署环境。赞分享文档教程知识库【免费下载链接】til:memo: Today I Learned项目地址https://gitcode.com/gh_mirrors/ti/til点击查看免费下载相关推荐如何永久保存微信聊天记录WeChatMsg免费工具完整指南如何永久保存微信聊天记录WeChatMsg免费工具完整指南 你是否担心珍贵的微信聊天记录会随着手机更换或误删而永远消失那些与家人朋友的温馨对话、重要的工作沟TIL 仓库实战在 PostgreSQL 中列出所有数据库的两种方式psql 元命令与 pg_database 查询TIL 仓库实战在 PostgreSQL 中列出所有数据库的两种方式psql 元命令与 pg_database 查询 导读 本文源自 TILToday文档教程知识库StarRocks SHOW FILE 命令详解数据库文件元信息查询与实战StarRocks SHOW FILE 命令详解数据库文件元信息查询与实战 本文围绕 StarRocks 的 SHOW FILE 语句展开讲解如何查看已托管数据库OLAP数据仓库大数据湖仓一体数据分析创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

多智能体系统如何防止死循环失控?Orkas四重运行守卫与loop_detection完整实现剖析

多智能体系统如何防止死循环失控?Orkas四重运行守卫与loop_detection完整实现剖析

多智能体系统如何防止死循环失控?Orkas四重运行守卫与loop_detection完整实现剖析 【免费下载链接】Orkas Orkas is an open-source, local-first AI desktop app: a commander LLM directs specialist sub-agents, and runs your installed coding CLIs — Claude …

2026/11/8 12:16:55 阅读更多 →
Python协程深度解析:从原理演进到实战避坑

Python协程深度解析:从原理演进到实战避坑

在Python高并发开发场景中,多进程、多线程存在资源开销大、线程切换成本高、GIL全局锁限制等痛点,而协程(Coroutine)凭借用户态轻量级切换、极低资源消耗、高并发吞吐量的优势,成为IO密集型场景的最优解。 很多开发者只会简单套用 async/await 语法,却不懂事件循环原理、…

2026/11/8 12:16:55 阅读更多 →
软件配置备份方法:从手动到自动化的实践指南

软件配置备份方法:从手动到自动化的实践指南

软件配置备份常常被忽视,但它其实非常关键。程序重装后,数据还在,但许可证、激活码、参数设置、界面布局、插件配置、脚本路径等一旦丢失,恢复起来往往比重装软件本身还麻烦。好的配置备份方法,应该做到修改前有副本、…

2026/11/6 18:03:51 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/8 1:19:03 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/7 12:08:40 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/8 1:35:05 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/8 1:38:41 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/7 12:08:40 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/8 1:23:14 阅读更多 →

日新闻

周新闻

月新闻