关系型 数据库(PostgreSQL)
v3.4.0
tcb db execute 在 PostgreSQL 环境下的支持自 CLI v3.4.0 起提供。
tcb db execute 命令在 PostgreSQL 环境下可用于执行任意 SQL 语句(DDL / DML / DQL 等),常见场景包括执行高级 Storage bucket 管理和 RLS 策略管理。
tcb db execute
执行 SQL 语句。
tcb db execute --sql '<sql>' [options]
参数
| 参数 | 说明 | 默认值 |
|---|---|---|
-s, --sql <sql> | 要执行的 SQL 语句 | — |
--role <role> | 指定执行 SQL 的 role(可为任 意有效 role,含用户自定义 role) | — |
-e, --env-id <envId> | 环境 ID | — |
--json | 以 JSON 格式输出结果 | — |
内置只读角色
云开发内置了 cloudbase_read_only_user 只读角色。通过 --role cloudbase_read_only_user 执行查询,可避免非预期的写操作执行成功。
示例
# 基础查询
tcb db execute -e <pgEnvId> --sql "SELECT 1"
# 查询 Storage bucket 列表
tcb db execute -e <pgEnvId> --sql "SELECT name, public FROM storage.buckets ORDER BY created_at"
# 使用内置只读角色执行查询,防止误操作
tcb db execute -e <pgEnvId> --role cloudbase_read_only_user --sql "SELECT name, public FROM storage.buckets"
# 创建 Storage bucket
tcb db execute -e <pgEnvId> --sql "INSERT INTO storage.buckets (id, name, public, created_at, updated_at) VALUES ('avatars', 'avatars', false, now(), now())"