发版日志

v4.3.3

已修复问题

  • PostgreSQL 16 集群无法在 amd64 节点上启动。 随 v4.3.1 发布的 Spilo image 中包含一个 bg_mon extension,该 extension 在 amd64 architecture 上是使用错误的 PostgreSQL major version 编译的,导致 PostgreSQL 16 instances 在启动时失败,并报出 could not load library ".../16/lib/bg_mon.so": undefined symbol: pgstat_fetch_stat_beentry。现在,extension 构建会显式固定目标 PostgreSQL 版本,修复后的 image 已在 amd64 和 arm64 上的所有受支持 PostgreSQL 版本中完成验证。arm64 clusters 和其他 PostgreSQL 版本不受影响。受影响的 v4.3.1 clusters 可通过将 plugin 升级到 v4.3.3 来恢复。

已知问题

v4.3.1

新增和优化功能

  • Security。 修复了所有 PostgreSQL operand images 中的多个 CVE——operator、Spilo、pg-agent、RDS Operator、Pgpool-II 和 PostgreSQL exporter 都已基于已打补丁的基础 image 和依赖项重新构建。捆绑的 WAL-G binary 也使用更新后的 jackc/pgx/v5 和 Go toolchain 进行了重建,以消除一个严重 CVE。
  • 原地 major upgrade 修复。 修复了 PostgreSQL major-version 原地升级(例如 14 → 16)在 Patroni 3.3 版本线上由于移除了 get_global_config API 而立即失败的问题。升级前置检查现在改为使用当前的 Patroni global-config API。
  • RBAC project-admin 聚合。 PostgreSQL 面向用户的 roles 现在会聚合到平台的 project-admincluster-adminplatform-admin roles,因此 project administrators 可以在其 namespaces 中管理 postgresqlspostgresbackupspostgresrestores

已修复问题

此次发版无相关问题。

已知问题

此次发版无相关问题。

v4.3.0

新增和优化功能

  • RBAC 最小权限与角色分离。 operator 不再管理 cluster-level RBAC resources,并且已从所有 resource rules 中移除 deletecollection。新增了五个面向用户的聚合角色——admineditviewbackuprestore——用于实现职责分离。配置选项 SkipRuntimeRBACCreation 已被移除;operator 现在会在运行时始终创建 namespace-scoped 的 ServiceAccountRoleBinding。有关详细信息,请参见 RBAC 架构分配 PostgreSQL RBAC 角色
  • Cross-Cluster Replication (XCR) 稳定性。 为 XCR connections 添加了 statement_timeout,并取消了多余的错误日志。当没有 sync replica 就绪时,会对 XCR metadata writes 进行保护,并在 standby clusters 缩容时清理孤立的 replication slots。移除了 BeforeClusterSync 中可能影响健康 replicas 的激进 slot 移除逻辑,并消除了 preReconcile 中针对基于 LoadBalancer 的 standby clusters 的不必要本地数据库连接尝试。
  • 可靠性修复。
    • waitForPodDeletion 现在除了监听 informer channel 之外,还会轮询 Kubernetes API,从而消除因错过 Delete events 而导致的 10 分钟 worker 卡住问题(在 IPv6 / kube-ovn clusters 上观测到)。
    • 集群生命周期期间的 Patroni status 更新现在不再是致命错误——临时性的 Patroni API 错误会以警告形式记录,不再将集群驱动到 SyncFailed / AddFailed。同时还修复了一个 defer 变量捕获 bug,该 bug 会导致 Patroni error 泄漏到外围的 deferred status-setting closure 中。
    • 修复了在使用 LoadBalancer Service 进行 replication 时 external-IP 为空的问题。
    • 修复了 restore errors 和 CSV 生成问题。
  • 构建与安全。
    • Renovate 已集成到所有 release branches,用于自动化依赖管理。
    • Go toolchain 已升级到 v1.26;上游 Zalando components(operator、operator-ui、logical-backup)已更新到 v1.15.0;Spilo 也已使用最新安全修复重新构建。
    • golang.org/x/cryptogolang.org/x/netlogrusrequests 及相关依赖进行了批量 Go-module 安全补丁修复。

已修复问题

此次发版无相关问题。

已知问题

此次发版无相关问题。

v4.2.0

新增和优化功能

  • 支持在 PSA-restricted 模式下部署 Postgres instance。
  • 支持将 Load Balancer Service type 用于热 standby cluster replication。
  • 修复了多个 CVE。
  • 移除了对 PostgreSQL 11 和 12 的支持。

已修复问题

此次发版无相关问题。

已知问题

此次发版无相关问题。