PgPedia周刊
每周更新,列出值得关注的提交、PostgreSQL 的其他有趣更改,以及 PgPedia 的笔记和勘误。
理论上每周日发布,但由于个人事务有时会延迟。
又一个日历年即将结束,因此这是2024年最后一期 PgPedia 周报。感谢今年所有的支持,并祝所有读者2025年一切顺利,充满 PostgreSQL!
PostgreSQL 18 更改
一如既往,年底假期意味着提交日志活动比平时要少,但我们确实看到了一项新的潜在性能改进,提交 58a359e5(“通过额外的函数内联加速元组变形
”)有望在变形密集型的 OLAP 类型工作负载中将查询性能提高约 5-20%。
尽管今年即将结束,但 PostgreSQL 的开发仍在不减速地前进。PgPedia 小精灵们也一直很忙,为各种 咨询锁定 系统函数添加了大量条目。
本周 PostgreSQL 18 的更改
libpq
- 添加了
PQservice()
函数
- 添加了
psql
- 添加了变量
SERVICE
- 添加了提示配置选项
%s
- 各种制表符补全改进
- 添加了变量
pg_stat_reset_backend_stats()
pg_stat_get_backend_io()
查看引荐日志,很高兴发现 pgPedia 在 Postgres Weekly 的“基于读者参与度的年度十大链接”中排名第四。

非常感谢您的支持,我们非常感激!
其他网站新闻方面,这个博客实际上有一个 RSS feed,只是它被巧妙地隐藏起来了。
PostgreSQL 18 更改
本周最主要的用户可见变化是弃用 MD5 密码,因为这些密码被认为极易受到攻击(在 PostgreSQL 14 中,默认的 密码加密方法 已更改为 scram-sha-256
)。
从 PostgreSQL 18 开始,默认设置或更改 MD5 密码将导致出现可见的 WARNING
。
WARNING: setting an MD5-encrypted password DETAIL: MD5 password support is deprecated and will be removed in a future release of PostgreSQL. HINT: Refer to the PostgreSQL documentation for details about migrating to another password type.
这可以通过新的 GUC md5_password_warnings
来抑制。
这是 CommitFest 50 的最后一周,没有太多新功能,但有很多内部改进以及各种 bug 修复。
PostgreSQL 18 更改
SELECT
- 支持非确定性排序的
LIKE
- 支持非确定性排序的
PL/Tcl
- 支持 Tcl 9
本周发布了一系列计划外的额外更新(12.22
、13.18
、14.15
、16.6
和 17.2
)(公告),以修复上周计划内发布中出现的一些回归问题,并修复了其他几个 bug。
这也意味着 PostgreSQL 12 收到了一个 EOL 后的更新到 12.22
版本,尽管修复回归问题以外的 bug 并没有添加。
PostgreSQL 18 更改
本周主要变化是
- 向
file_fdw
添加了reject_limit
选项 - 在索引匹配期间,
OR
子句可以转换为IN
列表(ScalarArrayOpExpr
或SAOP
)
本季度 PostgreSQL 的次要版本更新(12.21、13.17、14.14、16.5 和 17.1)本周发布(公告),但您可能想稍等一下,因为在发布后不久发现了一些不幸的问题,因此本周将有一系列计划外的额外更新(12.22、13.18、14.15、16.6 和 17.2)(公告)。有关其中一个问题的背景信息,请参阅 CrunchyData 的这篇深度博文:ResultRelInfo 的更改 - Postgres 17.1 的擦边球。
本周 PostgreSQL 18 的更改
pg_stat_database
- 添加了列
parallel_workers_to_launch
和parallel_workers_launched
- 添加了列
一些 contrib 模块已使用标准 SQL 函数体重写了其 SQL 函数。
PostgreSQL 18 的重要变更
SQL
CREATE PUBLICATION
- 添加了选项
publish_generated_columns
- 添加了选项
系统目录更改
NOT NULL
约束现在已记录在pg_constraint
中(这之前在 PostgreSQL 17 中尝试过,但随后被撤销)
系统函数更改
以下函数被撤销