跳到主要内容

关系型数据库(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())"