PostgreSQL(Alpha)
PostgreSQL 是一个功能强大的开源对象关系数据库,经过 30 多年的活跃开发,在可靠性、强大的功能和性能方面赢得了极高的声誉。部署 PostgreSQL Operator 后,可在数据服务视图中使用 PostgreSQL 功能。
PostgreSQL 具备以下功能特性:
-
通过 Patroni 流复制集群
-
通过 Spilo 使用
pg_basebackup / WAL-E
进行时间点恢复 -
预加载库:
bg_mon
、pg_stat_statements
、pgextwlist
、pg_auth_mon
-
包括一些流行的 Postgres 扩展,例如:
decoderbufs
、hypopg
、pg_cron
、pg_partman
、pg_stat_kcache
、pgq
、plpgsql_check
、postgis
、set_user
和timescaledb
。
Postgres Operator 简介
Postgres Operator 通过 Patroni 能够简单地在 Kubernetes 上运行高可用的 PostgreSQL 集群。仅通过 Postgres 清单文件(CRD)对其进行配置,以简化与自动 CI/CD 管道的集成,无需直接访问 Kubernetes API,从而很简单地集成进自动化 CI/CD 流水线。
下图描述了当提交一个新的 Postgres CRD 时,Operator 将创建什么。

下图将为您展示单个集群 Pod 内的组件。

Postgres Operator 核心功能
Postgres Operator 具备以下功能特性:
-
滚动更新 Postgres 集群,包括:小版本更新
-
在不启动 Pod 的情况下实时调整 volume 大小(目前只支持 AWS EBS)
-
使用 PGBouncer 作为数据库连接池
-
还原和克隆 Postgres 集群(包括大版本升级)
-
可以配置 S3 bucket 的逻辑备份
-
使用 S3 WAL 备份集群
-
可为非云环境配置
-
Kubernetes 上的基本凭证和用户管理,简化了应用程序部署
-
用于创建和编辑 Postgres 集群的 UI
-
在亚马逊 AWS、谷歌云、OpenShift 和 Kind 上运行良好