OCI 上的切换为何测试全过却在生产翻车
OCI 的虚拟 IP 是绑在实例 VNIC 上的第二私有 IP,不像 AWS 和 Azure 那样能在实例间漂移。Umair Shahid 指出,切换时数据库层面已经完成提升,VIP 却仍注册在原实例的 VNIC 上,流量继续送往停摆或只读的节点,集群状态看上去还一切正常。解法有两条:用 HAProxy 探测 Patroni 的接口,彻底不依赖 VIP;或在提升后的钩子里调 OCI CLI 重挂第二私有 IP,代价是多出 5 到 15 秒。
保留原始来源与发布日期的新闻、博客和活动。
OCI 的虚拟 IP 是绑在实例 VNIC 上的第二私有 IP,不像 AWS 和 Azure 那样能在实例间漂移。Umair Shahid 指出,切换时数据库层面已经完成提升,VIP 却仍注册在原实例的 VNIC 上,流量继续送往停摆或只读的节点,集群状态看上去还一切正常。解法有两条:用 HAProxy 探测 Patroni 的接口,彻底不依赖 VIP;或在提升后的钩子里调 OCI CLI 重挂第二私有 IP,代价是多出 5 到 15 秒。
PostgreSQL 18 支持用 Google、Auth0 等身份提供方签发的令牌代替密码登录。Rafia Sabih 梳理了整条链路:服务端编译时要带 --with-libcurl,客户端需要 psql 18 或更高版本;pg_hba.conf 中的 oauth 方法要写明签发者 URL 与 scope,验证器和用户名映射按需配置。连接时既可以走基于浏览器的交互式认证提示,也可以直接携带已经拿到的令牌。这条路径把口令管理挪到了身份提供方一侧。
大版本升级后统计信息清零、查询变慢甚至超时,是长期存在的性能悬崖。PostgreSQL 18 支持在升级中保留规划器统计,Nikolay Samokhvalov 验证它对更早的版本同样可用:用 PG18 自带的 pg_dump 加 --statistics-only,从 PG14 到 PG17 的旧集群取出统计,再用新的恢复函数导入新集群。测试确认 PG18 的 pg_dump 能顺利从 PG16 服务端提取。跨版本升级因此不必等 ANALYZE 跑完再放流量。
Greg Sabino Mullane 主张沿用现有角色体系,Jelte Fennema-Nio 认为派生只读角色的门槛过高。
Álvaro Herrera 用元组槽替代 HeapTuple 省掉反复的形式化开销,审阅指出索引下标与数组越界问题。
Nathan Bossart 的补丁按死元组与 XID 年龄打分,评分参数保持全局,另计划补一个系统视图。
社区已形成共识,Tomas Vondra 准备提交;分区表查询上 JIT 的编译成本常常压过收益。
Richard Yen 整理了 EXPLAIN 里容易被忽略的五个选项。BUFFERS 区分 shared hit 与 shared read,用来判断是缓存没命中还是内存吃紧;MEMORY 单独报告规划阶段用掉和申请的内存;WAL 给出记录数、整页写和字节数,适合看批量导入与复制压力;SETTINGS 列出影响规划的参数;VERBOSE 展开列引用与模式限定名,能看清视图展开和规则重写。他建议组合使用,并把同样的开关配进 auto_explain。
把现成的库改成多主复制往往先要动 schema:UPDATE 与 DELETE 的复制依赖主键,外键级联会制造冲突,一些序列类型和扩展也不兼容。pgEdge 产品经理 Antony Pegg 把这套评估做成了命令行工具 MM-Ready,围绕 schema、复制配置、扩展、序列、触发器和 SQL 写法执行 56 项检查,结果按严重程度分成四级。工具有连库扫描、只读结构文件、审计已部署的 Spock 和长期观察四种模式。
会议 8 月 20 至 21 日举行,含培训与英文技术演讲,征稿 4 月 12 日截止,注册四月中旬开放。
zstd 压缩下解压管道没有收尾导致找不到 WAL,POSIX 的填充规则又让测试失败,Tom Lane 连出两轮补丁。