PostgreSQL 连接助手
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_2ea0925b/postgresql。
技能介绍
问题:只读 MCP 不够用
大模型工具常把 PostgreSQL 限制为只读查询,缺少安全的 INSERT、UPDATE、DELETE 与 DDL 通道。尤其当 Agent 需要补全数据、修数或迁移测试表时,只读接口无法覆盖完整闭环。直接执行写操作又容易漏掉 WHERE、误删表或把生产环境当作测试库。
工作方式
该技能用 Python 3 + psycopg2-binary 提供本地 CLI:
pg_query.py:执行SELECT、WITH、EXPLAIN,默认追加LIMIT 100。pg_execute.py:执行写操作,默认dry-run并ROLLBACK,只在显式--confirm后提交。pg_schema.py/pg_list.py:查看列、主键、索引、外键和表行数估算。pg_init.py:生成credentials.json,密码文件要求放在固定用户目录。
脚本通过命令行参数覆写 host、port、database 等连接信息,避免每次临时拼接。高危操作如 DROP TABLE、TRUNCATE、无 WHERE 的 UPDATE/DELETE、影响行数超过阈值或生产环境写操作,必须先进入人类确认流程:先 dry-run 展示影响面,再等待明确确认,最后才追加 --confirm。程序层还提供 --force、--confirm-prod、Ctrl+C 回滚、密码脱敏和退出码约束。
适用边界
它适合在本地或可信 Agent 环境中执行受控数据库操作,不适合绕过数据库权限、审计或发布流程。若 SQL 属于只读或写入类型不匹配,脚本会直接报错并提示改用对应入口。凭据不得写入仓库、脚本或聊天上下文;生产变更仍应遵循 DBA 审核与备份策略。
使用场景
- 在本地调试 API 时,先用只读查询确认测试库表结构和样例数据。
- 修数前执行无 WHERE 的 UPDATE 风险 SQL,要求先 dry-run 查看影响行数。
- 给 Agent 暴露数据库工具时,用默认 dry-run 和强制确认限制写操作。
- 迁移前用 pg_list 和 pg_schema 快速核对目标库的表、索引与外键。
适合人员
- 本地调试数据库的工程师:需要在测试环境安全执行查询和修数。
- 给大模型接数据库工具的开发者:想限制 Agent 写操作并保留人工确认。
- 做数据迁移的工程师:快速核对目标库表结构、索引和外键。
- 维护测试数据的后端工程师:批量更新前先看影响行数再提交。