PgPedia 周刊
每周更新,列出感兴趣的提交、PostgreSQL 的其他有趣更改,以及 PgPedia 的注释和勘误表。
理论上每周星期日发布,但个人事务有时会导致延迟。
CommitFest 第47期 正在进行中,其中包含许多新的用户可见功能(见下文)和更多数量的不太明显的内部更改,以及一些错误修复。
PostgreSQL 17 本周添加的更改
- 添加了对时间 FOREIGN KEY 约束的支持。
- 在 PostgreSQL 15 发布周期中添加然后撤销之后,添加了这些 SQL 标准
JSON
查询函数:JSON_EXISTS()
JSON_QUERY()
JSON_VALUE()
- 添加了以下系统函数
pg_replication_slots
现在有一个列invalidation_reason
(以及先前将conflicting
列更改为conflict_reason
的操作已撤销)。- 提供的
ltree
contrib 模块支持哈希索引。
CommitFest 第47期 是 PostgreSQL 17 发布周期中的第五个也是最后一个,已到达中途点。即将发布的版本的特性冻结已 宣布为 4 月 8 日,因此与往年一样,当前的 CommitFest 可能会实际延长至那时。
其他新闻是,pgPedia 有幸从 postgresql.org 的 教程和其它资源 页面链接,非常感谢!
PostgreSQL 17 本周添加的更改
RETURNING
对MERGE
的支持- 添加了
MAINTAIN
权限和pg_maintain
预定义角色(继在 PostgreSQL 16 发布周期中添加和撤销之后) - ALTER STATISTICS 中的
SET STATISTICS
子句现在接受DEFAULT
(代替-1
)以恢复使用default_statistics_target
- 新函数
pg_column_toast_chunk_id()
- 实用程序
clusterdb
、reindexdb
和vacuumdb
现在允许将--all
选项与更多其他选项组合。 - 添加了“
builtin
” 排序规则提供程序 - 向
libpq
添加了一些非阻塞查询取消函数
CommitFest 第47期,是 PostgreSQL 17 发布周期中的最后一期,正在顺利进行。本周有一些用户可见的和系统目录更改(见下文),以及许多代码改进、清理、错误修复和进一步特性提交的准备工作。
PostgreSQL 17
用户可见更改
- 添加了
ALTER TABLE ... SET ACCESS METHOD DEFAULT
语法 - 添加了对布尔
IS [NOT] UNKNOWN
的分区剪枝的支持 - 新的 GUC
standby_slot_names
- 向
pg_upgrade
添加了--copy-file-range
选项 adminpack
contrib 模块已被删除
系统目录更改
pg_collation
- 列
colliculocale
重命名为colllocale
- 列
pg_constraint
- 列
conwithoutoverlaps
重命名为conperiod
- 列
pg_database
- 列
daticulocale
重命名为datlocale
- 列
pg_depend
- 扩展 成员的依赖类型现在以此方式列出
CommitFest 第47期,是 PostgreSQL 17 发布周期中的最后一期,正在积聚势头,其中包含一些用户可见的功能,以及一些有趣的内部更改和一些错误修复。
PostgreSQL 17 本周更改
用户可见更改
- 添加了对可更新视图的
MERGE
支持 - 视图
pg_stat_slru
中的 SLRU 缓存名称已更改
后端
- 引入具有完整屏障语义的原子读/写函数。
- 引入 sequence_*() 访问函数
- 添加用于具有字符串键的 dshash 表的辅助函数。
- 调整内存分配函数以允许同级调用
- 将 BackendIds 替换为基于 0 的 ProcNumbers
其他
- 删除 AIX 支持
- 最终放弃了自 PostgreSQL 项目开始以来就存在的 AIX 平台的支持。
在 PostgreSQL 17 发布周期中最后一次 CommitFest 之前,开发方面本周比较平静。
由于 EXPLAIN
命令在最近的 PostgreSQL 版本中添加了多个选项,现在有一个方便的概述图表显示哪些选项在哪个版本中可用:EXPLAIN 选项。
在 PostgreSQL 17 发布周期中最后一次 CommitFest (第47期) 的准备工作正在继续,其中包含一些新的用户可见功能(见下文)和许多内部更改,其中一些将为进一步的功能铺平道路。
PostgreSQL 17 本周添加的更改
过去七天添加的以下用户可见功能和更改
- 新的 GUC
transaction_timeout
- 新函数
pg_sync_replication_slots()
- 预定义角色 pg_monitor|[] 现在可以执行
pg_current_logfile()
Commitfest 46 正在进行中;以下用户可见的更改值得关注 PostgreSQL 17
- 新函数
pg_get_wal_summarizer_state()
- 新的服务器实用程序
pg_walsummary
- 新的
libpq
函数PQchangePassword()
Commitfest 46 正在顺利进行;以下是对用户可见更改的总结,以方便您查看
- 用于生成列的
表达式现在可以就地修改
pg_replication_slots
增加了一个列conflict_reason
,用于跟踪逻辑槽失效的原因。PL/pgSQL
的%TYPE
和%ROWTYPE
占位符变量现在可以创建为数组
以下是值得关注的提交列表。