执行 SQL 语句
POST/v1/rdb/exec-pgsql
直接执行 SQL 语句,支持参数化查询。 仅管理员可调用(TC3 签名 / B 端管理员 Token / API Key),非管理员请求返回 403。
执行身份
本接口固定以 cloudbase_postgres(应用层管理角色,具备 BYPASSRLS)执行,无需传 role。该参数保留给平台内部场景,用户传入其他值会返回 400。需要只读访问时不要依赖该参数,请改用 anon / authenticated 角色,或自建只读角色后通过 GRANT 授权。
错误码与 HTTP 状态码
| HTTP 状态码 | 错误码 | 说明 |
|---|---|---|
| 200 | - | 成功,返回 JSON 数组(DDL 返回 []) |
| 400 | INVALID_PARAM | 参数校验失败(空 SQL、缺少 sql 字段等) |
| 400 | DATABASE_42601 | SQL 语法错误 |
| 400 | DATABASE_42P01 | 表不存在 |
| 400 | DATABASE_23505 | 唯一约束冲突 |
| 400 | DATABASE_42501 | 权限不足 |
| 401 | UNAUTHORIZED | 未认证或 Token 无效 |
| 403 | ACTION_FORBIDDEN | 非管理员调用 |
| 500 | INTERNAL_ERROR | 服务内部错误 |
Request
Responses
- 200
- 400
- 401
- 403
- 500
执行成功,返回 JSON 数组(DDL 返回空数组 [])
Response Headers
X-Request-Id
请求追踪 ID(与请求中的 X-Request-Id 一致,或自动生成)
请求参数错误或 SQL 执行错误
认证失败(未提供 Token 或 Token 无效)
非管理员身份调用(仅管理员可调用此接口)
服务内部错误