PostgreSQL 18.7 小版本更新破坏了 ABI 兼容性。Debian 和 RPM 打包已加入版本依赖保护,安装新扩展时会因要求更高版本而失败,从而避免混用不兼容版本。Kubernetes 用户若使用 CNPG 扩展目录可自动获得匹配版本,但手动固定镜像摘要的用户需自行确保兼容。最需警惕的是从源码自行构建数据库和扩展的用户,应尽快处理此更新。
CloudNativePG 1.31 将为 DatabaseRole 新增密码自动生成与轮换功能。password 字段支持 generate、secret、external、setNull 四种模式;generate 模式由操作符生成密码并存入其管理的 Secret,包含 username、password、pgpass 三个键。可通过 duration 和 renewBefore 设置定期轮换,PostgreSQL 以 VALID UNTIL 强制密码有效期。支持通过注解手动触发轮换,并可自定义密码长度及数字、符号等规则。默认不轮换,因为角色仅有一个密码,切换时无重叠期。
In traditional Kubernetes operator setups, every Cluster custom resource (CR) explicitly hardcodes its own container image tag or SHA256 digest. As a fleet grows to dozens or hundreds of...
本文介绍如何在Kubernetes上使用CloudNativePG(CNPG)作为OpenBao的PostgreSQL存储后端,实现无密码的TLS客户端证书认证。通过部署三实例CNPG集群、创建数据库角色和表结构,并配置OpenBao的Helm图表,实现高可用和同步复制。文章涵盖初始化、解封、读写测试及证书续期等操作,强调全开源、无供应商锁定。
CloudNativePG 1.29 新增通过ClusterImageCatalog管理扩展镜像的功能,用户只需在Cluster中指定扩展名,无需硬编码镜像引用。社区目录提供pgvector、PostGIS等7种扩展,按PostgreSQL主版本统一解析镜像、路径和依赖。此机制简化了扩展分发和升级,支持滚动更新和私有目录定制,成为推荐的管理方式。
传统DBA转向Kubernetes时,常因无法SSH直接编辑Postgres配置文件而困扰。CloudNativePG(CNPG)通过声明式YAML解决此问题:在spec.postgresql.parameters中定义参数,用pg_hba块管理客户端认证,并借助Kubernetes Secrets安全存储密码。CNPG自动校验、重载配置,无需中断连接,使数据库配置可复现、自愈且安全。
本文介绍如何使用 CloudNativePG 在本地 minikube 和 MinIO 上搭建分布式 PostgreSQL 拓扑:主集群持续将 WAL 日志写入对象存储,副本集群位于另一 Kubernetes 集群或区域,从对象存储引导并轮询新 WAL 保持同步。通过 ObjectStore 资源、replica 声明和 externalClusters 配置实现角色匹配与故障切换。需注意对象存储延迟会影响复制滞后,并保持两集群镜像版本一致。
CloudNativePG 1.30引入了DatabaseRole CRD和无密码TLS客户端证书功能,允许应用团队声明性管理PostgreSQL凭据,简化了角色管理和RBAC。DatabaseRole支持自动生成和续订TLS证书,增强了安全性,提升了数据库角色管理效率,减少了攻击面。
本文介绍了如何将Crunchy PGO管理的PostgreSQL 17集群迁移到CloudNativePG下的PostgreSQL 18,提供了离线迁移和在线迁移两种路径。离线迁移使用pg_dump,简单直接;在线迁移利用逻辑复制实现几乎零停机时间。文章详细说明了环境设置、数据加载、扩展兼容性检查及迁移步骤,强调了数据一致性和安全性的重要性。
PostgreSQL 18 新增 extension_control_path 参数,Kubernetes 1.33 引入 ImageVolume 功能,二者结合使 CloudNativePG 能在 Pod 启动时动态加载扩展,无需构建自定义镜像。文章以 pgvector 和 PostGIS 为例,演示了在集群创建时或之后通过修改清单添加扩展并设置 LD_LIBRARY_PATH,实现扩展与 PostgreSQL 运行时解耦。
该文仅含一条评论,询问除权限过大的“超级用户”外,还可向“owner”用户授予哪些其他权限,未提供实质文章内容。
CloudNativePG 通过 Kubernetes 的 ImageVolume 功能,支持从独立镜像挂载 Postgres 扩展(如 pgvector 和 PostGIS),实现 PostgreSQL 核心与扩展二进制文件的解耦,简化动态添加和更新,避免构建大型自定义容器镜像。
CloudNativePG 1.26 支持离线原地主版本升级,将 PostgreSQL 升级变为声明式、Kubernetes 原生流程。小版本升级仅需修改镜像名,CNPG 会滚动升级副本后重启主库,系统 ID 不变;主版本升级同样修改镜像名,CNPG 自动执行 pg_upgrade --link,但副本会被替换,需等新副本同步完成才能恢复高可用。
CloudNativePG改进了PostgreSQL镜像管理,采用新构建流程以确保安全性和可靠性。新流程包括漏洞扫描、镜像签名和软件材料清单,简化了集群管理和升级,并通过优化的镜像目录提升了数据库的模块化和灵活性。
本文介绍用CloudNativePG结合Barman Cloud插件实现PostgreSQL时间点恢复(PITR):先创建测试库表并记录WAL位置与时间戳,模拟误删表后,通过bootstrap.recovery配置新集群并指定恢复目标时间,从备份和WAL归档重放事务,成功恢复至删表前数据。PITR可按时间戳、LSN或时间线声明式恢复,有效应对误删等灾难。
在云计算中,将数据库缩放至零是一种节省资源的策略。通过分离存储和计算层,数据库在闲置时可以暂停,确保数据安全。Xata利用CNPG-I插件实现自动休眠,适用于临时分支、测试和预发布环境,从而降低成本并提高灵活性。
CloudNativePG的kubectl插件简化了PostgreSQL集群的日常操作,提供统一命令集,便于检查状态、备份、切换管理、访问psql、部署pgAdmin4及配置逻辑复制,提升操作效率。
CNPG系列介绍了将PostgreSQL集群迁移到云原生环境的方法,包括pg_basebackup和导入。pg_basebackup创建物理副本,需硬件和版本兼容;导入方法支持版本升级,灵活性更高。迁移前需停止源实例的写操作。
CloudNativePG 1.27增强了PostgreSQL的存活探针,增加了主节点隔离检查,降低了分脑风险,并与Kubernetes无缝集成,为基于法定人数的故障转移提供了稳定性和安全性保障。
本文介绍了如何在Kubernetes环境中使用CloudNativePG和Barman Cloud插件备份PostgreSQL数据库,包括检查CNPG版本、安装Barman插件、定义集群和对象存储、设置定时备份、从对象存储恢复数据库以及验证集群状态以确保恢复成功。
完成下面两步后,将自动完成登录并继续当前操作。