pg_orca 如何对齐 PostgreSQL 的成本估算
pg_orca 的技术文章剖析优化器适配单机 PostgreSQL 的方法:把源自 Greenplum 的成本计量改为 PostgreSQL 的成本单位,并读取随机页访问成本、工作内存等参数。作者解释扫描、连接与排序的估算,指出嵌套循环重扫次数和提前终止会影响比较。项目的 188 个同形计划样本中有 183 个的成本差异不超过 2%。这套模型自 5 月已默认启用,本次分析为排查计划选择差异提供了可复现的成本对照。
pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
当天收录 26 条。
pg_orca 的技术文章剖析优化器适配单机 PostgreSQL 的方法:把源自 Greenplum 的成本计量改为 PostgreSQL 的成本单位,并读取随机页访问成本、工作内存等参数。作者解释扫描、连接与排序的估算,指出嵌套循环重扫次数和提前终止会影响比较。项目的 188 个同形计划样本中有 183 个的成本差异不超过 2%。这套模型自 5 月已默认启用,本次分析为排查计划选择差异提供了可复现的成本对照。
Cortex Ridge 披露了一个多租户 PostgreSQL 内存排障案例:数据库含 432 个模式、逾 8 万张表,长期存活的池化连接不断接触新表,使后端私有目录缓存持续增长。团队把服务端连接寿命从 24 小时缩短到 10 分钟,并调整租户清理任务,让空闲连接退出时释放缓存。厂商称,实例内存减半后占用仍约为一半,云账单也随之下降。该案例提示,多表系统排查内存时应同时观察连接寿命与私有缓存,而不只调整共享缓冲区。
为 PostgreSQL 加上 RDS Proxy 后,数据库连接数仍可能不降反升。AWS 的排障文章将原因归为会话绑定、连接池碎片和未提交事务:执行 SET 会限制复用,不一致的用户名、数据库或应用名会切分连接池,悬而未决的事务则长期占住后端。文章结合 Java、Python 客户端给出启动参数、初始化查询及事务管理的调整方法,并配套监控诊断流程。团队应先识别具体阻塞复用的行为,再评估代理容量与连接数,避免仅靠扩大连接池掩盖问题。
AWS 分析了 Aurora MySQL 的 63955 错误:内部索引编号达到上限后,已有读写仍可继续,但包含虚拟列的新索引会创建失败,功能索引和多值索引也受影响。所有新建索引都会消耗编号,因此只统计虚拟索引无法预判风险。物理快照或克隆会保留计数,根治需要向新集群逻辑导出导入,并用二进制日志复制缩短切换窗口。将虚拟生成列改为存储列只能临时绕开限制;运行 3.10 及以后版本还可监控预警事件,提前安排重建。
Percona 重新审视了用节点权重解决 Galera 偶数节点仲裁的做法。权重可以为网络对半分区指定胜方,却把更多票数集中到同一故障点;重节点失联可能让其余节点一并失去多数票。文章还分析了正常退出、连续故障和集群缩容如何改变主分量,说明初始奇数节点也不能保证以后始终有多数派。作者建议优先使用等权节点,跨机房需要独立仲裁位置;仅在明确需要固定胜方时配置权重,并把维护顺序和配置漂移纳入运维检查。
MariaDB 开发者定位到构建配置中的 TLS 性能问题:内嵌 WolfSSL 的 CMake 包装层没有检测编译器的 128 位整数支持,导致大数运算退回通用实现。补上检测后,作者在 Apple M4 Pro 上测试 100 次本地连接与断开,耗时从约 4.50 秒降至 1.31 秒,使用的仍是 C 代码优化而非汇编。结果仅针对该环境的连接建立过程,也提示排查数据库加密开销时,除了算法与连接池,也应核对依赖库实际启用的构建能力。
已提交补丁按函数和触发表保存 SD 字典,使其跨排序规则共享并在替换函数后保留,同时回补至 PostgreSQL 19。
CloudFormation 可用单个创建属性同时生成集群与主实例,无须在模板中另行管理数据库实例。
高成本只读查询可转向列式副本,事务内读取和不兼容函数仍回源,接入前需校验结果语义及复制延迟。
工具在浏览器本地生成版本迁移步骤,汇总 FCV、驱动与备份组件检查,并逐项链接官方依据。
支持一次导入、持续流入及历史补录,自动解析 JSON 等记录,缺失或无效时间戳会被拒绝。
逻辑隔离库中的不可变备份可转入低成本归档层,并通过备份规则配置保留与迁移周期。
测试版先覆盖 Workers 与 Durable Objects,达到阈值后暂停收费调用,静态资源仍可访问。
继此前发布服务后,开发者现可查看和修改源码,并把面向代理的浏览器部署到自己的 Workers 账户。