本指南详细介绍了 PostgreSQL MCP 服务器的使用方法,包括项目结构、核心脚本、协议实现、环境变量配置等内容,帮助您高效、安全地管理 PostgreSQL 数据库。
文档未提及安装步骤,暂不提供相关内容。
项目结构如下:
dist
:存放编译后的 JavaScript 文件src
:核心库文件package.json
:依赖管理和构建脚本配置tsconfig.json
:TypeScript 编译配置这些脚本负责初始化和管理 PostgreSQL 数据库连接,处理事务,并提供数据库操作接口。
index.ts
connection - pool.ts
transaction - monitor.ts
const { McpServer } = require('./dist/mcp-server');
// 初始化 MCP 服务器
const server = new McpServer({
connectionString: 'postgresql://用户名:密码@数据库地址:端口/数据库名',
transactionTimeoutMs: 15000,
maxConnections: 20
});
// 启动服务器
server.start();
SELECT * FROM users WHERE age > 18;
INSERT INTO users (name, age) VALUES ('张三', 25);
获取表 "users" 的详细信息
列出数据库中的所有表
环境变量 | 描述 | 默认值 |
---|---|---|
TRANSACTION_TIMEOUT_MS |
事务超时时间(毫秒) | 15000 |
MONITOR_INTERVAL_MS |
监控间隔时间(毫秒) | 5000 |
MAX_CONCURRENT_TRANSACTIONS |
最大并发事务数 | 10 |
PG_MAX_CONNECTIONS |
连接池最大连接数 | 20 |
PG_IDLE_TIMEOUT_MS |
空闲连接超时时间(毫秒) | 30000 |
PG_STATEMENT_TIMEOUT_MS |
SQL 语句执行超时时间(毫秒) | 30000 |
代码 | 描述 |
---|---|
100 | 连接池已满 |
101 | 事务超时 |
102 | 查询执行失败 |
{
"code": number,
"data": any,
"message": string
}
数据库用户需具备相应操作权限。
生产环境建议使用更严格的超时设置。
长时间运行的事务会自动回滚以防资源占用。
DML 操作需显式提交才能永久生效。
禁止在配置文件中明文存储敏感信息。
建议定期备份数据库。
确保数据库凭据不泄露。
配置适当的访问控制策略。
定期审计数据库操作日志。
使用 SSL 加密数据库连接。
通过以上配置和使用,您可以高效、安全地管理 PostgreSQL 数据库。