选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

PostgreSQL 博览 RSS 订阅

当天收录 14 条。

PostgreSQL 19 的 REPACK 命令怎么用

Shaun ThomaspgEdge 博客

Shaun Thomas 介绍 PostgreSQL 19 新增的 REPACK:重写膨胀的表并把空闲空间还给操作系统,这是 VACUUM 做不到的。写法是 REPACK (VERBOSE, ANALYZE) 表名,CONCURRENTLY 用复制槽捕获重写期间的改动以避开长时间排他锁,USING INDEX 按索引物理排序,接手 CLUSTER 的活。注意它不能用于无日志表和分区表,也不能放进事务块,并发形态还不是 MVCC 安全的。

pg_tde 是什么,以及你到底需不需要它

Christophe Pettusthebuild.com

Christophe Pettus 讲 Percona 的开源透明加密扩展 pg_tde,当前 2.1.2,官方口径的开销在 10% 以内。它对显式标记的堆表及其索引、TOAST 表、序列和 WAL 做块级加密,内部密钥加密数据、主密钥再加密内部密钥,主密钥放在 Vault 或 KMIP 服务里。没覆盖的部分要留意:系统目录仍是明文,临时溢出文件不加密,而且不支持 pg_upgrade。他的建议是只有合规硬性要求或需要按表加密时才上。

clang-20 在 RISC-V 上误编译波及时区与 pg_trgm

Greg Burdpgsql-hackers

Greg Burd 报告 clang-20 的自动向量化在 RISC-V 构建上生成了错误的散布写入,受影响的不止 DES 加密代码。他排查出三处:pgcrypto 的 crypt-des.c、时区编译器 zic.c 和 pg_trgm 的 trgm_op.c。zic.c 尤其麻烦,时区数据编译出错很难被发现。问题只在 -O2 和 -O3 下、编译器生成 RVV 散布存储时出现。Tom Lane 指出时区数据的测试覆盖有限。

key joins 提案想把外键关系写进 JOIN 子句

Joel Jacobsonpgsql-hackers

Joel Jacobson 在推进一项名为 key joins 的 SQL 语言特性,并打算提交 SQL 委员会。写法形如 LEFT JOIN 表 FOR KEY (列) -> 别名 (列),直接在连接里声明外键关系。补丁从 v4 改到 v6,修掉了构建失败与测试问题。Matthias van de Meent 建议支持引用命名的外键约束;Laurenz Albe 想用 FROM 和 TO 取代箭头,Joel 说用户反馈显示箭头更清楚。

PQfn() 的弃用有了可用的过渡补丁

Nathan Bossartpgsql-hackers

Nathan Bossart 拿出一版工作补丁来解决 PQfn() 的弃用:在 libpq 里引入回调机制处理预备语句被释放的通知,走协议扩展而不是次版本号,对旧服务端或旧客户端回退到 PQexecParams()。Jacob Champion 建议在切到回退方案之前先把 PQfn() 保留几个版本,并对基于通知的架构表示怀疑,更倾向中间件层面的上下文隔离。相关讨论已另开线程继续。