发版日志

v4.3.0

新功能和优化

  • RBAC 最小权限和角色隔离。 operator 不再管理集群级 RBAC 资源,并且已从所有资源规则中移除 deletecollection。新增了五个面向用户的聚合角色 — admineditviewbackuprestore — 以实现职责分离。SkipRuntimeRBACCreation 配置选项已被移除;现在 operator 会在运行时始终创建命名空间级别的 ServiceAccountRoleBinding。有关详情,请参见 RBAC ArchitectureAssign PostgreSQL RBAC Roles
  • Cross-Cluster Replication (XCR) 稳定性。 为 XCR 连接添加了 statement_timeout,并抑制了无效的错误日志。当没有同步从节点就绪时,会保护 XCR 元数据写入;在备用集群缩容时,会清理孤立的复制槽。移除了 BeforeClusterSync 中可能影响健康从节点的激进槽位移除逻辑,并且去除了 preReconcile 中针对基于 LoadBalancer 的备用集群的不必要本地数据库连接尝试。
  • 可靠性修复。
    • waitForPodDeletion 现在除了 informer channel 之外,还会轮询 Kubernetes API,从而消除因漏掉 Delete 事件而导致的 10 分钟 worker 卡死问题(在 IPv6 / kube-ovn 集群中观察到)。
    • 集群生命周期期间的 Patroni 状态更新现在不再是致命错误 — 临时性的 Patroni API 错误会被记录为 warning,并且不再将集群置为 SyncFailed / AddFailed。同时修复了一个 defer 变量捕获 bug,其中 Patroni 错误会泄漏到外层延迟执行的状态设置闭包中。
    • 修复了在使用 LoadBalancer Service 进行复制时 external-IP 为空的问题。
    • 修复了恢复错误和 CSV 生成问题。
  • 构建和安全性。
    • Renovate 已集成到各个 release 分支中,用于自动化依赖管理。
    • Go toolchain 已升级到 v1.26;上游 Zalando 组件(operator、operator-ui、logical-backup)已更新到 v1.15.0;Spilo 已使用最新安全修复重新构建。
    • 批量应用了针对 golang.org/x/cryptogolang.org/x/netlogrusrequests 及相关依赖的 Go module 安全补丁。

已修复问题

此次发版无相关问题。

已知问题

此次发版无相关问题。

v4.2.0

新功能和优化

  • 支持在 PSA 受限模式下部署 Postgres 实例。
  • 支持使用 Load Balancer Service 类型进行热备集群复制。
  • 修复了多个 CVE。
  • 移除了对 PostgreSQL 11 和 12 的支持。

已修复问题

此次发版无相关问题。

已知问题

此次发版无相关问题。