PgPedia 周刊
每周更新,列出感兴趣的提交、对 PostgreSQL 的其他有趣更改,以及 PgPedia 笔记和勘误表。
理论上每周星期天发布,但个人承诺意味着有时会延迟。
CommitFest 第 47 号 正在顺利进行,包含许多新的用户可见功能(见下文)以及更多不那么可见的内部更改,以及一些错误修复。
PostgreSQL 17 本周添加的更改
- 添加了对时间 FOREIGN KEY 约束的支持。
- 这些 SQL 标准
JSON
查询函数已添加,此前在 PostgreSQL 15 发布周期中添加后被撤回: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 发布周期中添加和撤回后)SET STATISTICS
子句来自 ALTER STATISTICS 现在接受DEFAULT
(代替-1
)来恢复使用default_statistics_target
- 新函数
pg_column_toast_chunk_id()
- 实用程序
clusterdb
、reindexdb
和vacuumdb
现在允许将选项--all
与更广泛的其他选项结合使用 - "
内置
" 排序提供程序已添加 - 一些非阻塞查询取消函数已添加到
libpq
CommitFest 第 47 号,PostgreSQL 17 发布周期的最后一次,正在顺利进行。本周有一些用户可见和系统目录更改(见下文),以及一些代码改进、清理、错误修复和对进一步功能提交的准备工作。
PostgreSQL 17
用户可见更改
ALTER TABLE ... SET ACCESS METHOD DEFAULT
语法已添加- 添加了对布尔值
IS [NOT] UNKNOWN
上的分区修剪的支持 - 新的 GUC
standby_slot_names
--copy-file-range
选项已添加到pg_upgrade
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 支持
- 对 AIX 平台的支持,该平台自 PostgreSQL 项目创建以来一直存在,终于被放弃了。
在 PostgreSQL 17 发布周期中最后一次 CommitFest 之前,开发方面相对平静。
由于 EXPLAIN
命令在最近的 PostgreSQL 版本中添加了几个选项,因此现在有一个方便的选项概述图表,显示哪些选项在哪个版本中可用:EXPLAIN 选项。
对 CommitFest (第 47 号) 的最后一次在 PostgreSQL 17 发布周期中继续,包含一些新的用户可见功能(见下文)以及一些内部更改,其中一些将为进一步的功能铺平道路。
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
占位符变量 现在可以创建为数组
如往常一样,以下是 感兴趣的提交 的列表。