执行 SQL 语句
POST/v1/rdb/exec-pgsql
直接执行 SQL 语句,支持参数化查询和角色选择。 仅管理员可调用(TC3 签名 / B 端管理员 Token / API Key),非管理员请求返回 403。
角色选择
| role 参数值 | 说明 |
|---|---|
| 不传 / 空 | 默认使用 cloudbase_read_only_user(只读) |
cloudbase_postgres | 管理角色,可执行 DDL/DML |
cloudbase_read_only_user | 只读角色,仅能执行 SELECT |
| 其他值 | 非法角色,返回 400 |
错误码与 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 无效)
非管理员身份调用(仅管理员可调用此接口)
服务内部错误