PostgreSQL 技术日报 (4月22日)|AI 向量检索落地,PG 内核锁与日志优化更新
🔔 关注【IvorySQL开源数据库社区】公众号即可获取 PostgreSQL 一手干货与最新动态

⚙️ PostgreSQL技术文章
🧩 利用 Amazon RDS for PostgreSQL 和 pgvector 实现 Ring 的十亿级语义视频搜索

Ring 使用 Amazon RDS for PostgreSQL 和 pgvector 构建了十亿级语义视频搜索系统,支持"我后院的狗"等自然语言查询。该系统跨 4 个大洲处理 1000-2000 亿个嵌入向量,每日新增约 20 亿个,查询延迟保持在 2 秒以下。关键架构决策包括按用户分区(避免单一巨型表)、故意不使用向量索引而采用暴力并行扫描以确保 100% 召回率,以及使用 16 个工作进程的激进并行执行来充分利用 EBS 带宽。由于在其规模下的成本考量和现有运维经验,Ring 选择了 PostgreSQL 而非专用向量数据库,证明了传统关系数据库在合理架构下可以处理极端向量工作负载。
🧩 独立性不仅仅是数据库的一项功能

CYBERTEC这家PostgreSQL咨询公司将技术独立的理念从数据库领域扩展到了能源系统。这家奥地利公司安装了60千瓦的太阳能发电设备和65千瓦时的电池储能系统,在4月至10月期间实现了99%的能源自给自足。所有能源数据都实时输入PostgreSQL数据库,通过基于CYPEX的界面进行监控和优化。公司获得了ISO 14001环境认证,并运营着5个使用太阳能剩余电力的电动汽车充电站。CYBERTEC计划再增加20千瓦的发电容量,认为能源独立与数据库独立是相通的——两者都能减少对供应商的依赖,提高应对外部依赖和地缘政治风险的韧性。
https://www.cybertec-postgresql.com/en/independence-is-not-just-a-database-feature/
🧩 PostgreSQL 性能优化:如何区分慢查询和长耗时查询

Sonia Valeja 在这篇文章中阐述了 PostgreSQL 性能优化中的一个关键区别:慢查询与长时间运行查询。慢查询由于缺少索引、执行计划不佳或模式设计问题等低效因素导致耗时超出预期,浪费系统资源。长时间运行查询虽然耗时较长,但在处理大数据集或复杂操作时运行效率正常。关键区别在于慢查询需要调优(添加索引、更新统计信息),而长时间运行查询可能只需要更好的调度或工作负载规划。作者强调业务上下文决定了是否需要优化,因为并非所有长查询都有问题。正确的诊断需要判断查询是运行低效还是仅仅在执行大量工作。
https://www.percona.com/blog/postgresql-performance-is-your-query-slow-or-just-long-running/
🧩 FOSSASIA PGDay Bangkok 2026:Fujitsu携手PostgreSQL焦点分享

Fujitsu作为演讲者参加了2026年曼谷FOSSASIA PGDay活动,这是一个PostgreSQL社区会议。此次大会汇聚了PostgreSQL用户和开发者,讨论数据库的发展历程,涵盖过去的发展、现状和未来方向。该活动为PostgreSQL生态系统内的知识分享和交流提供了平台,Fujitsu与其他社区成员一起参与了技术讨论。
📨 PostgreSQL Hacker 电子邮件讨论精选
🧩 REPACK 并发执行的问题讨论
Zhijie Hou发现了并发REPACK操作的WAL保留问题,从数据复制开始到完成期间所有WAL文件都被保留,这是因为长时间运行的REPACK事务阻止逻辑解码推进restart_lsn。在长时间的REPACK操作中,这可能导致WAL文件堆积数小时甚至数天。Hou提出了一个补丁,允许repack解码工作进程在写入更改后推进restart_lsn,类似于物理槽的行为。Chao Li回应说他在LogicalConfirmReceivedLocation中发现了同样的问题,并在单独的线程中提交了修复。Li同意Hou的方法,但建议同时更新代码注释,并参考了他自己补丁中的注释更改。两位开发者似乎正在处理同一个底层问题的不同方面。
https://www.postgresql.org/message-id/<704E4371-FDA5-488F-B5E9-6B6F86A06669@gmail.com>
🧩 实现 WAL LSN 回放等待机制:重新加载
Xuneng Zhou 对 WAIT FOR LSN 功能实现的测试补丁进行了修订。更新后的补丁通过让新测试用例更直接地检查 WAIT FOR 行为,并避免测试可能错误通过的场景,从而改善了测试覆盖率。主要变更包括:改进了 walreceiver 重启测试,更好地区分可观察状态和间接覆盖的状态,正确处理 pg_last_wal_receive_lsn() 返回 'flushedUpto' 而非 'writtenUpto';根据实际测试边界拆分了边界测试,'standby_replay' 使用 pg_last_wal_replay_lsn(),'standby_flush' 使用 pg_last_wal_receive_lsn();改进了异步唤醒测试,在回放暂停时启动等待器;以及改进了级联时间线切换测试,现在检查后台 psql stdout 的 WAIT FOR NO_THROW 状态,而不是依赖日志标记。这些修订解决了之前关于测试准确性和完整性的关切。
🧩 简化 xl_heap_visible 日志记录以减少 WAL 开销(并最终实现虚拟映射表按需更新)
这个讨论的核心是消除 xl_heap_visible WAL 记录以减少 WAL 量,并最终实现按需设置可见性映射。Melanie Plageman 提交了几个修复来解决测试可靠性问题。第一个提交 (da6874635db) 处理读取流的共享缓冲区管理,确保后端进程不会出错,除非所有共享缓冲区都被固定,不过这可能会减慢竞争读取流的速度。第二个提交 (85ae8ab0533) 通过禁用 autovacuum 并将 analyze 操作移到可能设置页面全可见的表扫描之前,来防止 relallvisible 更新,从而解决测试不稳定问题。最后的提交 (62407d26b7c) 将有问题的测试中的普通表改为临时表,完全避免了 autovacuum 的干扰,简化了测试。这些更改旨在使该功能的测试套件更加稳定和可预测。
🧩 逻辑复制中确认远端刷新前应先退出 walsender
PostgreSQL 逻辑复制中的 walsender 关闭代码出现了间歇性的 CI 测试失败。测试在 pg_ctl 无法关闭发布节点时失败,等待服务器关闭超时。这个问题似乎与 FreeBSD 上 Unix-domain socket 的特殊行为有关,在该系统中写入操作直接进入对端接收缓冲区,而不是通过内核发送缓冲区。Fujii Masao 建议将 pq_flush() 替换为 pq_flush_if_writable() 来处理 send() 调用无法立即完成的情况。分析表明这个改动只会在内核发送缓冲区满时影响行为,虽然这种情况很少见,但在 FreeBSD 上确实会发生。建议的修复方案应该能保持几乎相同的功能,同时防止导致测试失败的阻塞行为。
https://www.postgresql.org/message-id/<161718d7-aa3d-4d87-b2c0-3225e8d03713@tantorlabs.com>
🌐 社交媒体动态
🧩 数字独立不仅仅是个流行词

Hans-Juergen Schoenig 最近在 PostgreSQL 会议 PGConfDE 上发表了关于数字独立的主题演讲。他强调数字独立的实际重要性和现实意义,而不是将其仅仅视为时髦概念。这场由 CYBERTEC 相关的主题演讲,重点探讨了实现数字独立的实用价值,超越了简单的概念讨论层面。
https://www.linkedin.com/posts/pgedge_dev-dba-programming-activity-7451977306153259009-o-TI
🧩 PGConf.DE2026现场:CYBERTEC首席执行官Hans-JuergenSchoenig谈论合规的全自动PostgreSQL及ScalefieldSecure数据安全解决方案

在PGConf.DE 2026大会上,CYBERTEC首席执行官Hans-Juergen Schoenig发表了关于合规全自动PostgreSQL解决方案和Scalefield Secure数据安全的演讲。演讲重点介绍了如何在PostgreSQL部署中实现合规要求的同时保持自动化运维,特别强调了Scalefield Secure平台提供的安全功能。此次分享…
🧩 2026年德国PostgreSQL大会现场报道:CYBERTEC公司JulianMarkwort分享基于reflink克隆的PostgreSQL快速恢复技术

CYBERTEC公司的Julian Markwort在2026年德国PostgreSQL大会上分享了利用reflink克隆技术提升PostgreSQL恢复性能的方法。该演讲重点介绍了一种通过reflink技术创建高效数据库克隆来加速PostgreSQL恢复过程的技术方案。
🔥 HOW 2026 报名进行中
一场真正以技术为核心的 PostgreSQL 大会
HOW 2026 中国数据库开源发展峰会暨PostgreSQL高峰论坛火热报名中
📍 2026 年 4 月 27 日 - 28 日|济南


浙公网安备 33010602011771号