本教程将带你从零开始,快速掌握 Postgres MCP 的配置与使用。通过 Docker 部署 PostgreSQL 数据库、创建测试数据,再到在不同开发工具中完成 MCP 连接,最后执行查询验证,整个过程清晰易懂,适合初学者快速上手。

环境准备
1. 运行数据库容器
使用 Docker 一键启动一个 PostgreSQL 容器,命令如下:
docker run -itd --name postgres -e POSTGRES_PASSWORD=12345678 -p 5432:5432 -d postgres
小提示: 执行后可使用 docker ps 查看容器是否正常运行。如果端口 5432 被占用,可以改为其他端口,例如 -p 5433:5432,后续连接时需同步修改端口号。
2. 创建测试数据
容器启动后,连接数据库并创建相应的表和数据。
- 连接数据库
psql -h 主机地址 -p 端口号 -U 用户名 -d 数据库名
例如,如果容器在本地运行,用户名为 postgres,密码为 12345678,则连接命令为:psql -h 127.0.0.1 -p 5432 -U postgres -d postgres(初次连接可先连默认的 postgres 数据库)。
- 创建数据库
create database mydb;
c mydb
注意: 执行 c mydb 前需要确保已连接到 PostgreSQL 服务端(在 psql 命令行中)。
- 创建表并插入数据
-- 创建学生表
CREATETABLE students (
id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
age INT NOT NULL
);
-- 插入 10 条模拟数据
INSERTINTO students (name, age)
VALUES
('Alice', 20),
('Bob', 21),
('Charlie', 22),
('Da vid', 20),
('Eve', 23),
('Frank', 21),
('Grace', 22),
('Heidi', 20),
('Ivan', 23),
('Judy', 21);
mydb=# select * from students;
id | name | age
----+---------+-----
1 | Alice | 20
2 | Bob | 21
3 | Charlie | 22
4 | Da vid | 20
5 | Eve | 23
6 | Frank | 21
7 | Grace | 22
8 | Heidi | 20
9 | Ivan | 23
10 | Judy | 21
(10 rows)
小提示: 如果复制 SQL 时出现语法错误,请注意检查 CREATETABLE 和 INSERTINTO 之间是否有空格(原示例中无空格,实际运行时请补全空格,例如 CREATE TABLE)。
配置 Postgres MCP
Cherry Studio 中的配置
打开 Cherry Studio,依次点击 “设置” → “MCP 服务器”,在界面中填写对应的配置内容。具体字段包括:
- 名称: 自定义,例如 “Postgres MCP”
- 命令:
npx - 参数:
-y @modelcontextprotocol/server-postgres postgresql://postgres:12345678@127.0.0.1:5432/mydb
填写完成后保存即可。
其他 IDE(VSCode、Trae、Cursor 等)中的配置
如果你使用的是 VSCode、Trae 或 Cursor 这类 IDE,需要在项目中的 MCP 配置文件(例如 .cursor/mcp.json 或 .vscode/mcp.json)里加入以下内容:
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-postgres",
"postgresql://postgres:12345678@127.0.0.1:5432/mydb"
]
}
}
}
注意: 请根据你的实际数据库地址、端口、用户名、密码及数据库名修改连接字符串 postgresql://postgres:12345678@127.0.0.1:5432/mydb。
使用 Postgres MCP
配置完成后,就可以在 MCP 客户端中与数据库进行交互了。
- 首先询问有几张表:MCP 工具会自动列出当前数据库中的所有表(本例中只有
students表)。 - 接着让 MCP 查询表数据:输入类似“查询 students 表的所有数据”的指令,工具会执行 SQL 并返回结果。
至此,你已经成功配置并使用了 Postgres MCP。
常见问题
- Q:启动 Docker 容器后,无法连接 PostgreSQL?
A:请检查容器是否正在运行(docker ps),并确认端口映射是否正确。如果使用远程主机,需将127.0.0.1替换为实际主机 IP,同时确保防火墙允许 5432 端口。 - Q:在 Cherry Studio 中配置后,MCP 服务器状态显示错误?
A:请检查本机是否已安装 Node.js 和 npx(可运行npx --version确认)。另外,连接字符串中的密码、端口、数据库名必须与容器设置完全一致。 - Q:SQL 语句执行报错 “relation does not exist”?
A:可能切换到了错误的数据库。请确认已连接到mydb数据库(使用c mydb切换)。
通过以上步骤,你已掌握了从环境搭建到实战查询的完整流程。无论在图形化工具还是 IDE 中,Postgres MCP 都能帮助你高效地与数据库交互,让数据操作更加便捷。
