继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

如何搭建和使用PostgreSQL MCP服务器

喵喔喔
关注TA
已关注
手记 561
粉丝 105
获赞 608

PostgreSQL MCP 服务器简介

PostgreSQL MCP 模型上下文协议实现了重大突破,在人工智能与数据库管理系统集成方面。作为 MCP 模型上下文协议生态系统的一部分,此服务器可以直接安全地以只读方式与 PostgreSQL 数据库交互,使大型语言模型如 Claude 能够实现这一功能。这一功能为数据分析、探索和检索通过自然语言处理打开了新的可能性。

在这篇全面的指南中,我们将探索PostgreSQL MCP服务器的设置、配置和使用方法,帮助你充分发挥AI辅助数据库交互的优势。不论是数据库管理员、开发者还是数据分析师,了解如何设置和使用PostgreSQL MCP服务器将提升你的工作效率并扩展你的技术工具。

小贴士: 通过将Apidog MCP 服务器集成到您的集成开发工具(IDE)中,可以提升您的AI开发流程。这能让您的AI助手实时获取API规范,从而生成代码、优化文档并简化数据模型——同时确保与您的API设计保持同步。🚀

Apidog MCP 服务器:连接您的 API 规范与 AI 代码助手之间的桥梁 软件开发正经历重大变革,随着人工智能的不断融入……sebastian-petrus.medium.com
apidog-mcp-server 通过 Apidog MCP Server,您可以将 Apidog 项目的 API 文档用作由 AI 驱动的数据源等,您可以...www.npmjs.com
理解PostgreSQL MCP服务器的基本概念

PostgreSQL MCP服务器充当语言模型和数据库系统之间的桥梁,在Model Context Protocol框架下,此服务器可以让大语言模型:

  • 与数据库系统进行交互
  • 访问和操作数据库中的数据
  • 利用数据库中的信息来生成响应
  1. 检查数据库架构
  2. 编写并执行只读SQL查询
  3. 有意义地处理返回的数据
  4. 以易于阅读的格式呈现结果

与传统的数据库访问方式不同,PostgreSQL MCP服务器提供了一个安全层,强制实施只读操作,确保您的数据安全的同时,依然可以支持强大的分析能力。这种方法在保持数据可访问性的同时,也确保了最佳的安全性。

部署 PostgreSQL MCP 服务器前的必备条件

在设置您的 PostgreSQL MCP 服务器之前,请确保以下前提条件已经准备好。

  1. 一个可以正常工作的 PostgreSQL 数据库实例
  2. 已经在您的系统上安装了 Node.js 和 npm
  3. 基本了解 SQL 和数据库概念
  4. 一个与 MCP 兼容的客户端(例如 Claude Desktop)
  5. 合适的数据库权限和凭证

这将使 PostgreSQL MCP 服务器的设置过程更加顺利。这将为我们提供成功实施所需的基础构建模块。

PostgreSQL MCP 服务器安装步骤

让我们开始安装PostgreSQL MCP服务器吧:

  1. 打开你的终端或命令行界面
  2. 使用npm包管理器安装该包。
npm install @modelcontextprotocol/server-postgres

安装npm包以安装@modelcontextprotocol/server-postgres。

或者,你可以直接使用 npx 运行服务器程序而无需安装,使句子更加流畅和符合口语习惯。

    npx -y @modelcontextprotocol/server-postgres postgresql://用户名称:密码@主机地址:端口号/数据库名

请用你的 PostgreSQL 数据库凭证替换连接字符串中的内容。这样一来,你就可以立即访问 PostgreSQL MCP 服务器了。

连接 PostgreSQL MCP 服务器

正确配置您的PostgreSQL MCP服务连接对于确保安全性和功能性至关重要。连接字符串应遵循标准的PostgreSQL格式:

postgresql://用户名称:密码@主机名:端口/数据库

主要包括:

  • 用户名 : 您的 PostgreSQL 用户名
  • 密码 : 认证凭证(建议在生产环境中使用环境变量)
  • 主机名 : 服务器地址(本地开发时使用 localhost)
  • 端口 : 默认端口是 5432
  • 数据库 : 数据库名

为了提高生产环境的安全性,可以考虑采用

    export PGPASSWORD=your_password  # 导出数据库密码
    npx -y @modelcontextprotocol/server-postgres postgresql://username@hostname:port/database  # 启动数据库连接

这种方法可以防止密码在命令历史记录或进程列表中泄露。

把PostgreSQL MCP服务器和Claude桌面应用程序结合起来

要将您的 PostgreSQL MCP 服务器与 Claude Desktop 或类似的 AI 应用程序一起使用,您需要配置 MCP 服务器设置,如下所示:

  1. 打开或创建你的 claude_desktop_config.json 文件。
  2. 在 “mcpServers” 部分添加 PostgreSQL 服务器的配置信息:
{  
  "mcpServers": {  
    "postgres": {  
      "command": "npx",  
      "args": [  
        "-y",  
        "@modelcontextprotocol/server-postgres",  
        "postgresql://username:password@hostname:port/database"  
      ]  
    }  
}  

注:此为JSON配置文件。

  1. 保存配置
  2. 重启Claude Desktop来应用变更

此配置告诉Claude在哪里能找到你的PostgreSQL MCP服务器并连接上去,从而通过自然语言实现数据库的无缝交互。

一个关于了解 PostgreSQL MCP 服务器资源的指南

PostgreSQL MCP 服务器提供宝贵的资源,帮助 AI 模型理解你的数据库结构。其中最重要的是表结构(模式),即 schema。

数据库连接字符串格式如下:

postgres://<host>/<table>/schema
(其中<host>表示主机名,<table>表示数据库表名)

这些资源包括。

  • 列名和数据类型
  • 主键的相关信息
  • 外键的相关关系
  • 索引设置

服务器会自动从你的数据库中获取这些元数据,从而使AI模型能够自动使用这些元数据,无需手动配置。这使得模型能够生成适当的查询并理解它处理的数据背景。

精通 PostgreSQL MCP 服务器查询执行技巧

PostgreSQL MCP 服务器的核心功能在于其能够执行只读 SQL 查询。该服务器自带了一个叫做 query 的工具,接受 SQL 语句作为输入,并返回结构化结果。

当AI模型使用PostgreSQL MCP服务器查询你的数据库时,如下步骤会发生:

  1. 模型根据用户需求生成一个SQL查询语句
  2. 查询发送至PostgreSQL MCP服务器
  3. 服务器将查询包裹在一个只读的事务中
  4. 查询在数据库上执行
  5. 返回结构化数据
  6. 模型处理并展示这些结果

此只读规则确保保护您的数据不被修改的同时,仍然可以进行强大的数据分析。

实用的PostgreSQL MCP服务器使用指南

我们来看几个例子,如何在使用PostgreSQL MCP服务器时与Claude合作,一些实用的例子。

例子1:数据探索

能不能用PostgreSQL MCP服务器来分析一下客户数据的地区分布情况?

克劳德会:

  1. 探索数据库架构,识别相关表格
  2. 构建类似的查询,例如:
从customers表中选择region字段,并统计每个region的客户数量,然后按客户数量降序排列。

在PostgreSQL MCP服务器上运行查询。接着,用合适的图表或解释展示结果。

示例2: 财务报告制作

让克劳德生成上一个季度的每月收入报告。

克劳德会:识别相关的表和关系,创建一个全面的查询语句。

SELECT DATE_TRUNC('month', order_date) AS `月`, SUM(order_total) AS `月收入额`, COUNT(*) AS `订单数` FROM orders WHERE order_date >= NOW() - INTERVAL '3 months' GROUP BY DATE_TRUNC('month', order_date) ORDER BY `月`;
  1. 通过 PostgreSQL MCP服务器执行查询操作
  2. 将结果整理成专业报告

这些例子说明了PostgreSQL MCP服务器通过自然语言来实现复杂的数据库操作。

PostgreSQL MCP 服务器的安全注意事项

需要考虑的安全因素

在部署PostgreSQL MCP服务器时,安全应是首要考虑的。

  1. 只读访问:服务器强制执行只读事务,但你也应该创建一个仅具有最小权限的专用只读数据库用户。
  2. 连接字符串保护:避免在配置文件中硬编码凭据。使用环境变量或安全的凭据存储。
  3. 网络安全性:尽可能将数据库访问限制在特定的IP地址,并考虑使用SSL加密连接。
  4. 数据暴露:注意哪些表和视图是可被访问的,因为AI可以查询任何可访问的数据。
  5. 查询监控:考虑实现查询日志以监控与数据库的交互。

遵循这些安全措施可以确保您的PostgreSQL MCP服务器保持安全,并符合数据管理合规性要求。

解决 PostgreSQL MCP 服务器常见故障

在使用 PostgreSQL MCP 服务器的过程中,您可能会遇到这些常见的挑战:

连接出了问题

如果服务器连接不上您的数据库。

  • 验证连接字符串的格式和凭据是否正确
  • 检查网络连接情况和防火墙设置是否正确
  • 确保 PostgreSQL 服务器正在运行且可以访问
权限问题

如果由于权限不足导致请求失败:

  • 验证数据库用户是否对相关表具有SELECT权限
  • 检查模式访问权限
  • 检查PostgreSQL中的角色分配
架构发现问题

如果表结构没有被正确检测到的话:

  • 确保用户能够访问信息架构(information_schema)
  • 确认表的所有权和权限是否正确
  • 检查是否有不符合标准的模式配置
查询超时异常

对于较大的数据集或复杂的查询。

  • 考虑通过添加适当的索引来优化数据库
  • 审查查询执行计划
  • 如有必要,请调整PostgreSQL服务器的设置
扩展PostgreSQL MCP(管理控制平台)服务器的功能

核心的 PostgreSQL MCP 服务器虽然功能强大,也可以通过这些扩展来进一步增强其功能。

  1. 自定义视图:创建数据库视图以帮助AI简化处理复杂的数据关系。
  2. 只读存储过程:开发只读的存储过程以封装常用的分析操作。
  3. 集成多个MCP服务器:集成多个MCP服务器以提供全面的工具支持和功能:
// MCP服务器配置
// postgres服务器配置
{
    "mcpServers": {
        "postgres": {
            "command": "npx",
            "args": ["-y", "@modelcontextprotocol/server-postgres", "postgresql://localhost/mydb"]
        }
    }
}
// filesystem服务器配置
{
    "mcpServers": {
        "filesystem": {
            "command": "npx",
            "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/reports"]
        }
    }
}
  1. 领域特定的文档:借助一些工具提供关于您的数据库结构以及业务规则的相关信息。

这些扩展程序可以将你的 PostgreSQL MCP 服务器从一个简单的查询执行器升级为一个全面的数据分析平台。

结语:PostgreSQL MCP 服务器的未来展望

PostgreSQL MCP 服务器代表着一个重要的进步。通过为 AI 模型提供直接且安全的数据库访问,它为数据分析、探索和报告打开了新的可能性。随着 Model Context Protocol 生态系统的不断发展,我们可以期待更多复杂但更高级的数据库交互能力。

无论你是通过探索数据来获取洞见,生成报告,还是构建数据驱动的应用程序,PostgreSQL MCP服务器都为你提供了进行AI增强的数据库交互的强大基础。按照本文介绍的设置和配置指南,你将能够很好地在自己的项目中利用这项技术。

在你继续使用PostgreSQL MCP服务器的过程中,记住可能性仅受你的想象所限。PostgreSQL强大的数据管理能力与现代AI的自然语言理解结合在一起,形成了一种协同效应,可以改变我们与数据库互动的方式,使数据更容易访问,洞察也更加容易获取。

在我们结束之前,让我们来聊聊一个常见的问题:用 Postman 进行 API 测试,这对您的开发团队很有帮助。

嗯,我也听说 Postman 年年都在变差,对吧?你是在团队中工作,你们需要一些协作工具来开发流程,对吧?所以你们每个月要为 Postman Enterprise 支付 49 美元每月。

现在我要告诉你:你真的不必做什么。

APIDog:你可以在APIDog上以更实惠的价格使用Postman付费版本的所有功能。

没错,APIDog 提供与 Postman 付费版本相同的所有功能,而且价格更实惠。迁移简直易如反掌,只需点击几个按钮,APIDog 就会帮你搞定一切。

Apidog 一款真正面向API设计的开发平台,集API设计、调试、开发、模拟和测试于一体,帮助你更快速且更协同地构建API。bit.ly

APIDog 拥有一个全面且易于使用的 GUI,让你无需花费时间即可快速上手(特别是从 Postman 迁移过来的用户)。它优雅、协作性好、易于使用,还有深色模式。

APIDog 让你轻松地从 Postman 迁移过来,无需学习曲线,轻松上手

想找一个比 Postman 更好的替代工具吗?APIDog 绝对值得试试。但如果你是某个开发团队的技术主管,真的想换一个更好、更便宜的工具,可以试试 APIDog。

Apidog 一个集API设计、调试、开发、模拟和测试于一体的综合平台,一个真正面向设计的API开发平台。设计。调试。测试。文档。模拟。更快更协同地构建API。bit.ly

[MCP]: 模型上下文协议
[LLM]: 大型语言模型
[RAG]: 检索增强生成
[SSE]: 服务器发送事件

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP