🗄️

PostgreSQL

查询本地或远程 Postgres 以生成仪表板和报告。

分类: 数据库
难度: 高级
排名: #8

快速配置

选择适合您环境的设置。

最后验证: 2026-06-13
验证环境: uvx 运行 postgres-mcp(Postgres MCP Pro),restricted 只读访问模式
安装命令: uvx postgres-mcp --access-mode=restricted

本地配置

JSON
本地配置 json
{
  "postgres": {
    "command": "uvx",
    "args": ["postgres-mcp", "--access-mode=restricted"],
    "env": {
      "DATABASE_URI": "postgresql://USER:PASSWORD@HOST:5432/DBNAME"
    }
  }
}

复制后下一步

先用配置检查器验证 PostgreSQL JSON,再回到 OpenClaw 运行验证提示词。

验证提示词

列出 public schema 中所有表,并描述各自的列。

成功时应看到

应以只读方式返回 schema(表与列),不发生任何写入尝试。

常见陷阱与修复

  • ⚠️ 注意: 连接字符串、SSL、架构发现。
  • 🔑 始终将 API 密钥存储在环境变量中,切勿硬编码在 JSON 中。
  • 🛡️ 如果可用,从只读权限开始,以安全地验证连接。

安全检查

  • 旧的 @modelcontextprotocol/server-postgres 参考服务已弃用;本指南改用仍在维护的 Postgres MCP Pro(postgres-mcp)。
  • 把 DATABASE_URI 放在环境变量里,并优先使用只读数据库角色 + restricted 访问模式。

常见错误

错误 原因 修复方法
uvx not found 未安装 uv 或不在 PATH 中。 安装 uv(提供 uvx),或用 pipx install postgres-mcp 后直接运行 postgres-mcp。
Connection refused or authentication failed DATABASE_URI 有误,或数据库拒绝该 host/SSL 设置。 核对 host、端口、用户、密码、库名;托管 Postgres 加 sslmode=require。
Permission denied on write restricted 模式默认禁止写操作。 生产环境保持 restricted;仅在安全的开发库里改用 --access-mode=unrestricted。

示例提示词

连接后,尝试这些提示词以测试功能:

  • 列出数据库架构中的表。
  • 运行示例查询以获取最新的 5 条记录。
  • 描述 users 表中的列。