PG 模式概述
PG 模式 是云开发环境的一种新模式,采用 Postgres-Native 架构。创建云开发环境时选择 PostgreSQL 数据库,环境即自动以 PG 模式运行——以 PostgreSQL 作为基础设施层的统一底座,主要表现为:
- 身份认证:用户数据存储在 PostgreSQL 的
authschema 中,可在 SQL 中读取当前用户身份 - 云存储:文件元数据保存在 PostgreSQL 的
storageschema,访问权限由 RLS 策略驱动 - PostgreSQL 数据库:提供开箱即用的 PostgreSQL 实例,支持完整 SQL 能力,并基于 PostgREST 自动暴露 RESTful API
- 权限体系:采 用 表级权限(GRANT)+ 行级权限(RLS Policy) 的双层权限模型,统一使用
anon/authenticated/service_role三种数据库角色进行鉴权,详见 架构与权限模型、数据权限管理 与 RLS 权限模式库 - 业务数据:可继续使用文档型数据库,也可使用 PostgreSQL 实例存储关系型数据,并通过 RLS 策略进行权限管控;如需快速上手,可阅读 快速体验 与 实战教程
与传统模式相比,最大的差异不是"数据库变了",而是基础设施层从分散的子系统变为以 PostgreSQL 为底座的统一运行时;因此它更适合需要强结构化建模、关联查询、事务一致性以及精细化行级权限的场景。
体验通知
CloudBase PG 模式环境已开放体验,欢迎试用。如需创建体验环境,请联系云 开发团队。功能正在持续迭代完善,正式发布时间请关注官方公告。
仅新环境支持
PG 模式仅新建环境支持,存量传统模式环境不支持升级。如需使用相关能力,请新建环境并选择 PostgreSQL 数据库。
为什么称为 PG 模式?
PG 模式不是简单地"在原有环境里多加一个 PostgreSQL 实例"。如上所述,它会同时改变数据库访问、权限模型、身份认证、云存储和访问角色等基础能力:PostgreSQL 不只是 SQL 数据库,而是身份、存储、权限和业务数据访问的统一运行时底座。
正是因为这些"环境基础能力"都因 PostgreSQL 的引入而被重构,我们将其命名为 PG 模式(采用 Postgres-Native 架构),以便于与云开发的传统运行模式进行区分,并突出 PostgreSQL 作为整个环境运行时第一公民的地位。
整体架构
PG 模式下,客户端请 求经过统一的鉴权与策略校验链路落到数据库:
客户端(Web / 小程序 / 云函数)
│ Authorization: Bearer <Token>
│ (Publishable Key / access_token / API Key)
▼
CloudBase 网关
│ 解析 JWT → 设置 role + request.jwt.claims
▼
PostgREST(自动 RESTful API)
▼
PostgreSQL
├─ 第一层:表级权限检查(GRANT ... TO <role>)
├─ 第二层:RLS Policy 过滤(USING / WITH CHECK)
└─ schemas:
├─ auth 账号系统(users 等)
├─ storage 云存储元数据(buckets / objects)
└─ public 业务表
双重锁定原则:只有表级 GRANT 与 RLS Policy 都通过,操作才会成功。任一层拒绝均返回权限错误。
核心能力
| 能力 | 说明 |
|---|---|
| 完整 SQL 支持 | 表、视图、外键、索引、事务、触发器、存储过程、CTE、窗口函数等 PostgreSQL 原生能力 |
| PostgREST RESTful API | 基于表结构自动生成 RESTful 接口,支持筛选、排序、分页、关联查询、RPC 调用 |
| 双层权限模型 | 表级 GRANT + 行级 RLS,权限即 SQL,与业务查询同语言同语义 |
| 与云存储联动 | 云存储文件读写权限统一由 RLS 控制,与数据表权限体系完全一致 |
| 与身份认证联动 | 账号数据存于数据库的 auth schema,可通过 JWT claims 在 SQL 中直接获取当前用户身份 |
| 丰富扩展生态 | 预装或可用的扩展包括 pgvector(向量检索)、vectorscale(DiskANN 向量索引)、tencentdb_ai(腾讯云 AI)、zhparser / pg_jieba(中文分词)、TimescaleDB(时序)、Apache AGE(图)、PL/V8(JavaScript 存储过程)等 |
适用场景
以下场景推荐优先选择 PG 模式:
- 需要复杂关联查询、事务一致性的业务系统
- 需要精细到行级别的数据权限控制(如多租户、SaaS 应用)
- 希望通过标准 REST API 对接前端、第三方系统或低代码平台
- 需要使用 SQL 生态(如
pgvector做向量检索、pg_jieba做中文全文搜索)的 AI / 搜索应用 - 希望让 AI 编码助手(Cursor、CodeBuddy、Claude Code 等)更流畅地完成全栈开发——权限即 SQL,AI 理解无需切换上下文
下一步
- PG:身份认证 — 完整工作机制:JWT、三角色、GRANT/RLS、SQL 集成
- PG 模式云存储
- PostgreSQL 数据库 - 架构与权限模型
- PostgreSQL 数据库 - RPC(数据库函数)
- PostgreSQL 数据库 - 快速体验(5 分钟 Hello World)
- PostgreSQL 数据库 - 实战教程(电商小程序端到端示例)
- PostgreSQL 数据库 - RLS 权限模式库(READONLY / PRIVATE / ADMINWRITE / ADMINONLY + 进阶场景)
- PostgreSQL 数据库 - 常见错误速查
- 从 Supabase 迁移