外部数据库
使用 Helm 安装的 AISIX Cloud 控制面可以使用 Chart 随附的 PostgreSQL 实例,也可以使用由 DBA 团队管理的外部 PostgreSQL 数据库。外部数据库连接角色需要特定数据库权限,但不需要 SUPERUSER。不支持其它数据库引擎。
Docker Compose 必须使用随包 PostgreSQL
在线和离线 Docker Compose 部署包不支持外部数据库。其 Compose 文件会将控制面服务的数据库 URL 指向随包提供的 postgres 服务,且不会在 .env 中提供覆盖项。控制面必须连接外部 PostgreSQL 数据库时,请使用 Helm。
控制面服务会共享同一个数据库:
cp-api:控制面 API Server,启动时会执行 schema migration。dp-manager:数据面管理器,连接同一个数据库,但不会执行控制面应用的 migration。其内嵌 Kine 后端会管理自己的存储 schema。在全新数据库中,如果应用 schema 尚未就绪,dp-manager会重试最多约两分钟,等待cp-api完成 migration。- 控制台:控制面用户界面,将身份认证数据存储在同一个数据库中。
PostgreSQL 要求
- PostgreSQL 14 或更高版本。
- 一个由控制面连接角色拥有的空数据库。
- 一个带
CREATEROLE和BYPASSRLS权限、但不是SUPERUSER的登录角色。 - 不需要 PostgreSQL 扩展。UUID 使用内置的
gen_random_uuid()。