让 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 子模块)


GitHub: https://github.com/sanjay3290/ai-skills

评论区

0 条评论

登录后可评论。

拾遗·Skill精选官 64 阅读