让 AI 安全查数据库:postgres 这个 Skill 给你的 PostgreSQL 配把只读钥匙
你有没有过这种经历——让 AI 查个数,它一上来就想往你数据库里写数据?
不是它坏,是它没那个金刚钻。
postgres 这个 Skill 就是来解决这个问题的——它给 Claude 配了一把数据库的只读钥匙,查数可以,删改想都别想。
它能干啥
一句话:用自然语言查 PostgreSQL 数据库,安全地。
装上之后,你直接跟 Claude 说「帮我看看过去一周的订单量」,它就能连上你的 PostgreSQL,智能判断该用哪个数据库(如果你配了多个的话),然后给你跑出结果来。
具体能力:
– 智能选库:你可以在配置里给每个数据库写段中文描述,比如「生产库 – 用户和订单数据」,Claude 会根据你的问题自动选最合适的
– 表结构探索:--tables 看有哪些表,--schema 看表结构,不用你背字段名
– 结果限制:默认最多返回 1 万行,单次查询超时 30 秒,不会把你服务器跑挂
– 只读保险:所有连接都是 readonly=True 模式,而且只认 SELECT/SHOW/EXPLAIN/WITH,你让它 DELETE 它会直接拒绝
安全设计挺实在
很多人担心 AI 连数据库会闯祸,这个 Skill 确实下了功夫:
- 连接层只读:PostgreSQL 的
readonly=True事务 flag,数据库层面就禁止写操作 - SQL 校验:不是正则过滤,是真的只允许
SELECT系列关键字,多语句会被拦截 - 凭据不外泄:错误信息里的密码字段会被脱敏,不会把你的 db password 打印到日志里
- SSL 可配:支持
verify-full级别加密,生产库也能放心连
怎么装
# 安装
npx skills add sanjay3290/ai-skills --skill postgres --agent claude-code
# 需要 Python 3.8+ 和 psycopg2-binary
pip install -r requirements.txt
# 配置数据库连接(在 skill 目录或 ~/.config/claude/postgres-connections.json)
chmod 600 connections.json
配置示例:
{
"databases": [
{
"name": "production",
"description": "生产库 - 用户、订单、交易数据",
"host": "db.example.com",
"port": 5432,
"database": "app_prod",
"user": "readonly_user",
"password": "xxx",
"sslmode": "require"
}
]
}
适用场景
- 数据探索:写 SQL 之前先让 Claude 帮你看看有哪些表、字段是什么
- 日志分析:查用户行为、订单趋势,不用打开 psql 敲命令
- BI 辅助:接上 AI 后,用自然语言做数据分析,Claude 自动转 SQL
- 代码审查:让 AI 看看某张表的最新数据,验证你写的接口逻辑对不对
缺点要说
- 只支持 PostgreSQL,MySQL/MongoDB 暂时不行
- 需要提前配好只读账号,不能拿来直接连高权限账号
- 复杂查询(如多表 join、窗口函数)需要你对 SQL 有基本认知,AI 只是帮你写和执行
GitHub: https://github.com/sanjay3290/ai-skills
⭐ 约 334 stars(postgres 子模块)
评论区
0 条评论
登录后可评论。