↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

PostgreSQL 博览 RSS

保留原始来源与发布日期的新闻、博客和活动。

2 条内容

PostgreSQL 19 用 SQL/PGQ 在库内追踪数据血缘

Hans-Jürgen SchönigCybertec 博客

数据血缘过去多靠外键加递归 CTE 拼凑,链路一长就难读懂。Cybertec 的 Hans-Jürgen Schönig 给出另一条路:在 PostgreSQL 19 里建一张 edge 表记录行级转换关系,用 CREATE PROPERTY GRAPH 声明属性图,再以 GRAPH_TABLE 用标准 SQL 查到报表。边标签自带语义,审计时比裸外键好解释;当前尚不支持可变长度路径,深层链路仍要用 WITH RECURSIVE。

Fujitsu 公布 PostgreSQL 19 周期内的贡献清单

Hayato KurodaFujitsu Enterprise Postgres 博客

PostgreSQL 19 的逻辑复制改动有相当一部分出自同一支团队。Fujitsu 盘点了本轮成果:发布端排除指定表、序列的逻辑复制(经 ALTER SUBSCRIPTION … REFRESH SEQUENCES 同步)、update_deleted 冲突检测、按逻辑槽动态调整 wal_level,以及槽同步的跳过统计与失败重试。团队称本轮提交 83 个、审阅 81 个补丁。

20 条内容

夏令时跳变让两种时间戳比较出错

Jacob BrazealPostgreSQL hackers

Jacob Brazeal 报告 datetime_ops 运算符族的一处不一致:在夏令时向前拨的那一小时里,timestamp 之间比较 02:30 小于 03:00,但同一个值与等于 03:00 的 timestamptz 比较时却被判为更大,于是索引扫描、合并连接和分区裁剪都可能给出错误结果。Laurenz Albe 建议把跨类型运算符移出运算符族,Tom Lane 列了几条修法:降级比较、改运算符语义或改转换规则,尚未定论。

备库冲突解决漏掉导入快照的后端

Michael PaquierPostgreSQL hackers

备库的冲突解决存在缺陷:ResolveRecoveryConflictWithSnapshot 只调用一次 GetConflictingVirtualXIDs,随后逐个等待返回的虚拟事务号消失。可是在 ProcArrayLock 释放之后,别的后端还能从这些冲突事务里导入快照,产生新的冲突事务号,这个函数完全看不到。后果是备库可能删掉仍被导入快照使用的元组版本或索引项。提议的修法是循环调用直到结果为空。

MVCC 的账单只是换个人付

Radim Marekboringsql

Radim Marek 把 PostgreSQL 的 MVCC 摆上审判席:索引多的表更新一个未加索引的列,每行产生 7.1 条 WAL 记录,精简表只要 3.0;回滚掉的百万行更新让表涨到 178 MB、死元组占 47%;一个空闲事务持着快照就能让全库清理停摆。但换成别的引擎只是换人付账:Oracle 与 InnoDB 的 undo 让读者重建版本,SQL Server 把版本堆进 tempdb,LSM 用持续合并换掉 VACUUM。

EDB 把 WarehousePG 搬上 AWS

EnterpriseDBEDB 博客

WarehousePG 是从 Greenplum 衍生出来的大规模并行分析型数据库。Greenplum 停止开源后,EnterpriseDB 接手维护,继续按 Apache 许可发布,如今在 AWS 上提供。与按用量计费、账单容易失控的云分析平台不同,它按核心数定价,成本可预期,厂商称总体拥有成本最多可降 58%。这类口径需要用自己的负载核算,但对已经用 Greenplum 的团队来说,至少给出一条有人维护的延续路线。

2 条内容