name: volcengine-rds-postgresql description: 使用火山引擎 RDS PostgreSQL,帮助用户完成 RDS PostgreSQL 相关的实例管理、数据库操作、账号管理和运维任务,可直接调用 uv run ./scripts/call_rds_postgresql.py 脚本获取实时结果。 metadata: {"clawdbot":{"emoji":"🐘","homepage":"https://www.volcengine.com/product/rds-postgresql","requires":{"bins":["uv"],"env":["VOLCENGINE_ACCESS_KEY","VOLCENGINE_SECRET_KEY"]},"os":["darwin","linux"]},"openclaw":{"emoji":"🐘","homepage":"https://www.volcengine.com/product/rds-postgresql","requires":{"bins":["uv"],"env":["VOLCENGINE_ACCESS_KEY","VOLCENGINE_SECRET_KEY"]},"os":["darwin","linux"]},"moltbot":{"emoji":"🐘","homepage":"https://www.volcengine.com/product/rds-postgresql","requires":{"bins":["uv"],"env":["VOLCENGINE_ACCESS_KEY","VOLCENGINE_SECRET_KEY"]},"os":["darwin","linux"]}}
本 Skill 用于在对话中充当 火山引擎 RDS PostgreSQL 的智能运维代理:
scripts/call_rds_postgresql.py 实时查询 RDS PostgreSQL 并获取结果;工作模式:
- 使用 scripts/call_rds_postgresql.py 脚本直接获取 RDS PostgreSQL 的实时响应
运行方式: 脚本支持两种运行方式:
# 方式 1: 使用 uv (推荐,自动管理依赖)
uv run ./scripts/call_rds_postgresql.py [action] [options]
# 方式 2: 使用 python (需要预先安装依赖)
python ./scripts/call_rds_postgresql.py [action] [options]
确认任务类型与参数
--region:地域 ID(默认 cn-beijing)--action:操作类型(如 list-instances、describe-instance、list-databases 等)--instance-id:实例 ID(部分操作必需)构造查询并调用脚本
示例(以下命令可使用 uv run 或 python 运行):
```bash
# 查询实例列表
uv run ./scripts/call_rds_postgresql.py list-instances
# 或
python ./scripts/call_rds_postgresql.py list-instances
# 查询指定实例详情 uv run ./scripts/call_rds_postgresql.py describe-instance --instance-id postgres-xxx # 或 python ./scripts/call_rds_postgresql.py describe-instance --instance-id postgres-xxx
# 查询实例的数据库列表 uv run ./scripts/call_rds_postgresql.py list-databases --instance-id postgres-xxx # 或 python ./scripts/call_rds_postgresql.py list-databases --instance-id postgres-xxx
# 查询实例的账号列表 uv run ./scripts/call_rds_postgresql.py list-accounts --instance-id postgres-xxx # 或 python ./scripts/call_rds_postgresql.py list-accounts --instance-id postgres-xxx
# 查询实例参数 uv run ./scripts/call_rds_postgresql.py list-parameters --instance-id postgres-xxx # 或 python ./scripts/call_rds_postgresql.py list-parameters --instance-id postgres-xxx
# 查询 VPC 列表(用于创建实例) uv run ./scripts/call_rds_postgresql.py list-vpcs # 或 python ./scripts/call_rds_postgresql.py list-vpcs
# 查询子网列表 uv run ./scripts/call_rds_postgresql.py list-subnets --vpc-id vpc-xxx --zone-id cn-beijing-a # 或 python ./scripts/call_rds_postgresql.py list-subnets --vpc-id vpc-xxx --zone-id cn-beijing-a ```
解析结果并后续处理
| 操作 | 说明 | 必需参数 |
|---|---|---|
list-instances |
查询 RDS PostgreSQL 实例列表 | 无 |
describe-instance |
查询指定实例详情 | --instance-id |
list-databases |
查询实例的数据库列表 | --instance-id |
list-accounts |
查询实例的账号列表 | --instance-id |
list-parameters |
查询实例的参数配置 | --instance-id |
list-parameter-templates |
查询参数模板列表 | 无 |
describe-parameter-template |
查询参数模板详情 | --template-id |
list-vpcs |
查询 VPC 列表 | 无 |
list-subnets |
查询子网列表 | --vpc-id |
get-price |
查询实例价格 | 多个配置参数 |
| 参数 | 说明 | 默认值 |
|---|---|---|
action |
操作类型(必需) | - |
--region / -r |
火山引擎地域 ID | cn-beijing |
--instance-id / -i |
实例 ID | 无 |
--page-number |
分页页码 | 1 |
--page-size |
每页记录数 | 10 |
--output / -o |
输出格式(json/table) | json |
注意:
--region、--page-number、--page-size等全局参数必须放在子命令之前,例如:bash uv run ./scripts/call_rds_postgresql.py --region cn-shanghai list-instances放在子命令之后会被忽略(argparse 解析限制)。
脚本会将查询信息输出到 stderr,将结果输出到 stdout,便于分离日志和结果:
[操作] list-instances
[地域] cn-beijing
============================================================
[查询结果]
<实际结果内容>
uv run ./scripts/call_rds_postgresql.py list-instances
uv run ./scripts/call_rds_postgresql.py describe-instance --instance-id postgres-xxx
uv run ./scripts/call_rds_postgresql.py list-databases --instance-id postgres-xxx
uv run ./scripts/call_rds_postgresql.py list-accounts --instance-id postgres-xxx
uv run ./scripts/call_rds_postgresql.py list-parameters --instance-id postgres-xxx
uv run ./scripts/call_rds_postgresql.py list-instances --db-engine-version PostgreSQL_14
# 先查询 VPC
uv run ./scripts/call_rds_postgresql.py list-vpcs
# 再查询子网
uv run ./scripts/call_rds_postgresql.py list-subnets --vpc-id vpc-xxx --zone-id cn-beijing-a
获取火山引擎访问凭证:参考 用户指南 获取 AK/SK
配置以下环境变量:
export VOLCENGINE_ACCESS_KEY="your-access-key"
export VOLCENGINE_SECRET_KEY="your-secret-key"
export VOLCENGINE_REGION="cn-beijing" # 可选,默认 cn-beijing
权限说明:
list-vpcs和list-subnets调用的是 VPC 服务接口,AK/SK 需要同时授予 RDS PostgreSQL 和 VPC(vpc:DescribeVpcs、vpc:DescribeSubnets)两个服务的权限, 否则会返回AccessDenied 403错误。
这个 Skill 可以帮助用户通过对话方式管理火山引擎 RDS PostgreSQL 数据库。它提供了详尽的中文说明文档,操作简单直观,功能覆盖面较广,包括查询实例、数据库、账号、参数等常见运维需求。不过目前只支持查询操作,不支持创建实例、修改配置等写入操作,另外需要正确配置云服务访问凭证才能使用。对于日常运维查询场景来说质量较好,但功能丰富度有待提升。