PgPedia 周报,2025-07-06
PostgreSQL 19 的开发现已正式启动,因此从现在起,任何新功能都将合并到该版本中。任何重要的 PostgreSQL 18 更改(例如,回滚或对已合并功能的重大更改)将在此单独说明(本周没有)。
PostgreSQL 19 本周更新
PostgreSQL 19 的第一批新功能已上线
- 新增 对象标识符类型
regdatabase
,使得查找数据库的 OID 更加容易 - COPY FROM 现在支持多行标题
- 为 contrib 模块 btree_gin 添加了跨类型运算符支持
- 函数
width_bucket()
的非数组变体现在允许operand
输入为NaN
PostgreSQL 链接
博客、播客、新闻通讯等
- 扩展 PostgreSQL 373 - Planetscale PostgreSQL! (2025-07-06)
- Postgres Weekly 第 606 期 (2025-07-03)
公告
- POSETTE:Postgres 2025 大会 - 圆满结束 (2025-07-03)
- pgtt v4.4 发布 (2025-07-03)
pgtt
是一个提供全局临时表的扩展
- Barman 3.14.1 发布 (2025-07-02)
- pgAdmin 4 v9.5 发布 (2025-06-30)
- HypoPG 1.4.2 发布! (2025-06-30)
其他
- PostgreSQL 本周人物:Samed YILDIRIM (2025-06-30)
新 PgPedia 条目
已添加以下新条目
外部链接
已添加了指向外部文章的链接
pg_waldump
,pg_walinspect
- 使用 pg_waldump 和 pg_walinspect 查看 WAL 文件内容 - 2024 年 7 月 Percona 的博客文章,作者 Neha Korukula
UUID
- 避免使用 UUID 版本 4 作为主键 - 2025 年 7 月 Andrew Atkinson 的博客文章
PostgreSQL 提交的值得关注的变更
- 144ad723 (2025-07-04):
修复新的 pg_upgrade 查询,使其不依赖 regnamespace
- f295494d (2025-07-04):
pg_upgrade:检查继承关系下的非空约束不一致性
回溯到 ~ 13 - 5a6c39b6 (2025-07-04):
引导期间禁用提交时间戳
回溯到 ~ 13 - 78ebda66 (2025-07-04):
加速临时关系表的截断。
- 931766aa (2025-07-03):
简化只有一个有效参数的 COALESCE()。
- fc896821 (2025-07-03):
为 contrib/btree_gin 添加更多跨类型比较。
- e2b64fce (2025-07-03):
为 contrib/btree_gin 添加跨类型比较。
- 0059bbe1 (2025-07-03):
分解 xxx2yyy_opt_overflow API,用于更多的日期时间转换。
- a10f21e6 (2025-07-03):
在跨表更新中获取必需的表锁,重写。
回溯到 ~ 13 - a604affa (2025-07-03):
为 ALTER TABLE not-nulls 添加 Tab 补全
- 647cffd2 (2025-07-03):
防止为 域 创建重复的非空约束
回溯到 ~ 18 - 87251e11 (2025-07-03):
修复 CREATE CONSTRAINT TRIGGER 错误中的语法错误
- 8ec04c85 (2025-07-03):
重构 AlterDomainStmt 的 subtype 字段
- bc2f348e (2025-07-03):
支持 COPY FROM 命令中的多行标题。
- fd7d7b71 (2025-07-03):
改进 GUC recovery_target_timeline 的检查
- 0da29e4c (2025-07-03):
启用 Memoize 用于 ANTI 连接
- 7b2eb72b (2025-07-03):
添加 InjectionPointList() 以检索注入点列表
- fe05430a (2025-07-02):
正确复制 PQcancelCreate 中的目标主机标识。
回溯到 ~ 17 - bb109382 (2025-07-02):
更多地使用 RELATION_IS_OTHER_TEMP()。
- fe07100e (2025-07-02):
添加 GetNamedDSA() 和 GetNamedDSHash()。
- 7374b3a5 (2025-07-02):
允许 width_bucket() 的“operand”输入为 NaN。
- c989affb (2025-07-02):
修复 ALTER CONSTRAINT ... NOT VALID 的错误消息
- bd3f59fd (2025-07-02):
使 nbtree 数组扫描期间的行比较更加健壮。
回溯到 ~ 18 - f09816a0 (2025-07-02):
使 nbtree 冗余键的处理更加健壮。
回溯到 ~ 18 - 3811ca36 (2025-07-01):
修复没有索引的表上丢失的 FSM vacuum 机会。
回溯到 ~ 17 - 3369a3b4 (2025-07-02):
修复 archive streamer 中 LZ4 解压缩的错误
回溯到 ~ 15 - b45242fd (2025-07-02):
将 bytea 数据类型的代码从 varlena.c 移动到新的 bytea.c
- bee23ea4 (2025-07-02):
在 pg_stat_statements 中显示 FETCH 查询的大小作为常量
- 32bcf568 (2025-07-01):
更多地使用 binaryheap_empty() 和 binaryheap_size()。
- e6115394 (2025-07-01):
记录 pg_get_multixact_members()。
回溯到 ~ 13 - 1fd772d1 (2025-07-01):
确保定义了 IOV_MAX。
回溯到 ~ 16 - 29213636 (2025-07-01):
使 fsync 的不正确标志的保护措施更具可移植性。
回溯到 ~ 13 - 8af0d0ab (2025-07-01):
从 pg_locale_t 中删除 provider 字段。
- 5a38104b (2025-07-01):
使用方法表在内部控制 ctype 行为。
- d81dcc8d (2025-07-01):
在适当的地方使用 pg_ascii_tolower()/pg_ascii_toupper()。
- bf1119d7 (2025-07-01):
将 CHECK_FOR_INTERRUPTS 添加到 pg_numa_query_pages
- 7fe2f67c (2025-07-01):
限制 numa_move_pages 请求的大小
回溯到 ~ 18 - 8fd9bb1d (2025-07-01):
启用符合 MSVC 标准的预处理器
- 73206115 (2025-07-01):
xml2:改进 libxml2 调用的错误处理
- 2e947217 (2025-07-01):
改进 xml.c 中 libxml2 调用的错误处理
- 0836683a (2025-06-30):
改进 PL/pgSQL 保留字用作字段名的错误报告。
- 999f172d (2025-06-30):
取消 PL/pgSQL 中 EXECUTE 和 STRICT 关键字的保留。
- bd09f024 (2025-06-30):
添加新的 OID 别名类型 regdatabase。
- f20a347e (2025-06-30):
aio:修复对过时名称的引用
- 40a96cd1 (2025-06-30):
pgflex:将环境传播给 flex 子进程
- a4c10de9 (2025-06-30):
psql:改进 COPY 命令的 Tab 补全。
- 3431e3e4 (2025-06-30):
pgbench:使用标准选项处理例程
- 2252fcd4 (2025-06-30):
合理化 VacuumParams 的处理
- 5ba00e17 (2025-06-30):
在 CI 和 TAP 测试中将 log_line_prefix 与 pg_regress.c 对齐
请注意,提交按其在提交日志中的出现顺序显示,这可能不反映单个提交的创建日期。
请参阅 PostgreSQL GIT 提交日志 查看完整的提交列表。
已更新条目
以下文章已更新,增加了额外信息或更正
object_identifier_type
- 已更新以反映 PostgreSQL 19 中添加的
regdatabase
- 已更新以反映 PostgreSQL 19 中添加的
OID 相关技巧
- 已更新以反映 PostgreSQL 19 中添加的
regdatabase
- 已更新以反映 PostgreSQL 19 中添加的
PostgreSQL 9.3
- 添加了函数
pg_get_multixact_members()
的说明
- 添加了函数
最后...
如果您觉得有什么遗漏,或者有什么(建设性的)想法,请留下您的 反馈 和/或 请我喝杯咖啡。