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

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

PostgreSQL 博览 RSS 订阅

当天收录 32 条。

PG19 外键快速路径有越界写入与漏检的约束

Amit LangotePostgreSQL hackers

Amit Langote 发出针对 PG19 外键批量检查快速路径的 v2 补丁。先前的修复把批处理限制在顶层事务,Noah Misch 批评这在用 savepoint 时会掉性能,也不符合按子事务追踪资源的惯例。新版改为新增 AtEOSubXact_RI(),在每个缓存条目上记录子事务号。随后又发现缓存只以约束 OID 为键,导致同一约束的嵌套检查复用了外层条目,v2 把键改成约束 OID 加查询深度。

Kubernetes 的工作集内存指标在 Postgres 上会失真

Jeremy Schneiderardentperf.com

Kubernetes 靠 container_memory_working_set_bytes 决定驱逐哪个 Pod,这个值只扣掉不活跃的页缓存 inactive_file。Jeremy Schneider 用六组测试说明:Postgres 的 shared buffers 以 shmem 形式存在,内核回收不了,而活跃页缓存明明可回收却被算了进去,指标给不出有用的预警。他建议改用当前用量减去全部页缓存,并把 shmem 与 anon 分开采集。

PostgreSQL 19 让一批旧调优建议失效

Christopher WinslettCrunchy Data 博客

Christopher Winslett 复盘 Crunchy Data 过去写下的建议在 19 里的变化。异步 I/O 让后端可以排队多个读请求,云盘上最高快 3 倍,BRIN 与并行顺序扫描的取舍需要重新测。JIT 从 12 以来一直默认开启,19 因可靠性问题改为默认关闭,分析型负载要自己打开并复核计划。TOAST 默认压缩由 pglz 换成 LZ4,只影响新写入的值。

Aurora 上用二值量化把 pgvector 索引缩小 32 倍

Steve DilleAWS 数据库博客

Steve Dille 介绍 pgvector 的 HNSW 二值量化:binary_quantize() 把 float32 每维压成一比特,索引体积最多缩小 32 倍,普通实例的缓冲池就能装下完整索引,查询时再对候选做全精度重排补回召回率。在 LAION 100M、OpenAI 5M 和 Cohere 10M 上,向量分布均匀时建索引速度和查询吞吐都优于磁盘型 ANN。分布集中的嵌入模型量化后掉得厉害,上线前须用真实数据验证召回。

PgColumnar 1.0 Alpha2 加入只读 Iceberg 支持

Joshua DrakeCommand Prompt 博客

Command Prompt 发布列式表访问方法 PgColumnar 的 1.0 Alpha2。这一版新增只读的 Apache Iceberg 表支持和 S3 兼容对象存储上的 Parquet、Iceberg 读取,带来自动维护守护进程,并根据对抗性审计修掉六处内存安全问题。性能方面,参数化谓词现在能驱动块组跳过,删除向量改走索引而非顺序扫描。项目提醒接口在 1.0 之前仍可能变动。

YeSQL 用 24 节课在浏览器里讲 PostgreSQL

Dimitri Fontainetapoueh.org

Dimitri Fontaine 放出免费教程 YeSQL:24 节短课,每节一个概念配一条可运行的查询,不需要注册。内容分 SQL 基础、窗口函数、聚合、连接、性能、模式设计六个方向,涵盖 NULL 语义、运行总计、LATERAL 连接和 EXPLAIN 阅读。查询用 PGlite 在浏览器里直接执行,数据是 F1 赛事等真实数据集。每节都链到《The Art of PostgreSQL》的对应章节。

DuckDB 2.0 预览:从嵌入式走向服务端形态

DuckDB 团队DuckDB 博客

DuckDB 公布 2.0 预览,计划秋季发布。列出的能力包括稳定版 Quack、远程 CONNECT、触发器、VARIANT 类型、异步 I/O、新的 SQL 解析器和新的默认存储格式。Quack 与远程连接改变了 DuckDB 一直以来只做嵌入式的部署假设,而解析器、存储格式和 C API 的变动意味着升级要当作一次真正的大版本迁移来对待,需要提前建立文件格式、扩展、各语言客户端和并发写入的兼容矩阵。

Snowflake 连接器的工作流注入漏洞暴露 CI 审计盲区

WizWiz 博客

Wiz 称其 Red Agent 在 snowflake-connector-net 中发现工作流脚本注入:构造特定的 issue 标题就能让未认证用户在 runner 上执行任意命令。Wiz 称 6 月 23 日通报、当日修复并轮换凭据,随后修正措辞,只确认 Copilot 审查没有标出风险。把 issue 标题、分支名这类不可信元数据直接拼进 shell 的老问题依然存在,有 AI 辅助审查的流程同样会漏掉。