Richard Yen:pg-catalog-almanac

💡 原文英文,约700词,阅读约需3分钟。
📝

内容提要

pg-catalog-almanac是一个用于浏览PostgreSQL系统目录历史的工具,覆盖9.6至19版。它发现PG19新增12个目录和43列,为史上最多,包括SQL属性图支持及操作视图;仅pg_pltemplate被移除;排序规则元数据从name改为text并统一命名。该工具旨在简化数据库升级和监控查询研究。

🔎

延伸解读

升级前必查:PG19 目录变更规模

文章指出 PostgreSQL 19 将新增 12 个目录/视图和 43 列,是自 9.6 以来最多的一次。其中 5 个目录支持 SQL 属性图,另有 pg_stat_lock、pg_stat_recovery 等运维视图。对于计划升级的 DBA 和开发者,这意味着监控查询、ORM 映射可能需要调整,提前了解这些变更有助于平滑过渡。

目录演进中的兼容性信号

pg_pltemplate 是唯一被移除的目录,从 PG13 起由扩展机制取代。这提醒我们,PostgreSQL 在演进中会清理旧结构,升级时需检查依赖这些目录的脚本或工具。同时,排序规则元数据从 name 改为 text,并统一命名,反映了对 ICU 等复杂区域设置的支持,也意味着相关查询和比较逻辑可能需要更新。

工具价值:简化目录历史研究

pg-catalog-almanac 覆盖 9.6 至 19 版的所有 143 个目录,类似 postgresqlco.nf 的体验。对于需要跨版本对比目录结构的场景,如编写兼容多版本的监控脚本或研究变更影响,该工具能显著减少查阅文档和比对版本的工作量,提升效率。

Q&A

pg-catalog-almanac 是什么工具?

pg-catalog-almanac 是一个用于浏览 PostgreSQL 系统目录历史的工具,覆盖 PostgreSQL 9.6 到 19 版本,帮助用户追踪系统目录和视图的变化。

PostgreSQL 19 在系统目录方面有哪些重大变化?

PostgreSQL 19 新增了 12 个目录和视图以及 43 个列,是自 9.6 以来新增关系最多的版本。其中 5 个新目录支持 SQL 属性图,还有操作相关的视图如 pg_stat_lock、pg_stat_recovery 和 pg_stat_autovacuum_scores,以及 REPACK 和在线数据校验和变化的进度视图。

在 PostgreSQL 9.6 到 19 中,有哪些系统目录被移除?

只有一个系统目录被完全移除:pg_pltemplate。它在 PostgreSQL 12 中仍然存在,在 PostgreSQL 13 中被移除,因为 PostgreSQL 13 引入了可信扩展,将过程语言的安装移到了常规扩展机制上。

PostgreSQL 中排序规则相关的元数据发生了哪些变化?

在 PostgreSQL 15 中,pg_collation 和 pg_database 中的 collcollate、collctype、datcollate、datctype 列从 name 类型改为 text 类型,以支持更长的 ICU 区域名称并节省空间。PostgreSQL 17 中,ICU 特定的 colliculocale 和 daticulocale 列被重命名为 provider 中立的 colllocale 和 datlocale。

pg-catalog-almanac 覆盖哪些 PostgreSQL 版本?

它覆盖 PostgreSQL 9.6 到即将发布的 PostgreSQL 19,共 143 个文档化的关系。

pg-catalog-almanac 的灵感来源是什么?

灵感来自 postgresqlco.nf,一个用于探索 PostgreSQL 配置参数历史的网站。作者希望为系统目录提供类似的体验。

pg-catalog-almanac 对哪些人有用?

对数据库可靠性工程师(DBREs)和软件工程师有用,尤其是在规划升级、调整监控查询、ORM 或 API 时。

🏷️

标签

➡️

继续阅读