| 工具名称 | 描述 |
|---|---|
list_schemas | 列出所有模式,包括所有权和类型分类 |
list_objects | 按模式浏览数据库对象(表、视图、序列、扩展) |
get_object_details | 对象详细分析,包括列、约束和索引 |
execute_sql | 执行 SQL,带有安全控制(受限/非受限模式) |
| 工具名称 | 描述 |
|---|---|
explain_query | 使用 HypoPG 假设索引模拟的高级执行计划分析 |
get_top_queries | 通过性能指标识别慢速和资源密集型查询 |
analyze_workload_indexes | 从工作负载分析中进行 AI 驱动的索引推荐 (DTA/LLM) |
analyze_query_indexes | 针对特定查询集的目标索引优化 (最多 10 条查询) |
| 工具名称 | 描述 |
|---|---|
analyze_db_health | 综合健康检查:索引、连接、真空、序列、复制、缓冲缓存、约束 |
get_blocking_queries | 高级阻塞分析,带有锁定层次可视化和解决方案建议 |
analyze_vacuum_requirements | 综合真空分析,带膨胀检测和维护建议 |
| 工具名称 | 描述 |
|---|---|
get_database_overview | 企业级数据库评估,包括性能、安全性和关系分析 |
analyze_schema_relationships | 模式依赖映射,带有视觉关系分析和耦合度量 |
企业级综合数据库评估
get_database_overview 工具提供多维分析:
配置选项:
max_tables (默认:500):每个模式分析的最大表数以控制性能sampling_mode (默认:true):大型数据集的统计抽样以优化执行时间timeout (默认:300):最大执行时间,带有优雅的超时处理实时锁定冲突检测与解决
get_blocking_queries 工具具备企业级能力:
🎯 核心功能:
pg_blocking_pids() 函数进行准确的阻塞识别📋 分析输出:
🔧 PostgreSQL 兼容性:
pg_blocking_pids() 函数)pg_locks.waitstart 以实现精确的等待时间)综合维护规划,带膨胀检测
analyze_vacuum_requirements 工具提供:
高级依赖映射和可视化
analyze_schema_relationships 工具提供:
AI 驱动的索引推荐,带有高级算法
数据库调优顾问 (DTA) 功能:
LLM 驱动的优化:
在项目根目录创建一个 .env 文件:
DATABASE_URI=postgresql://用户名:密码@localhost:5432/数据库名
# 启动 MCP 服务器(默认:stdio 传输,非受限模式)
./start.sh
# 启动读取模式,更安全的分析
./start.sh --access-mode restricted
# 启动 SSE 传输,用于 Web 集成
./start.sh --transport sse --sse-port 8099
# 启动外部可访问的 SSE 服务器
./start.sh --transport sse --sse-host 0.0.0.0 --sse-port 8099
# 显示所有可用选项
./start.sh --help
# 使用 Docker Compose 启动
docker-compose up -d
# 查看日志
docker-compose logs -f postgres-mcp
# 终端 1:启动带有 SSE 传输的 MCP 服务器
./start.sh --transport sse --sse-port 8099
# 终端 2:启动 MCP Inspector(打开 Web 界面)
./start-inspector.sh
MCP Inspector 提供:
非受限模式(默认):
受限模式(推荐用于分析):
# 显示帮助和配置选项
./start.sh --help
# 使用默认设置启动(stdio,非受限)
./start.sh
# 启动生产安全模式
./start.sh --access-mode restricted
# 启动 Web 服务器,用于 HTTP/SSE 集成
./start.sh --transport sse --sse-port 8099
# 综合健康分析(通过 MCP 客户端)
analyze_db_health --health-type all
# 特定组件检查
analyze_db_health --health-type index,vacuum,buffer
# 性能优化工作流程
get_top_queries --sort-by resources
analyze_workload_indexes --method dta --max-index-size-mb 1000
get_blocking_queries
postgres-mcp/
├── 🔧 server.py # MCP 服务器及工具注册
├── 📊 database_health/ # 多维度健康监控
├── ⚡ explain/ # 查询执行计划分析
├── 🎯 index/ # AI 驱动的索引优化
├── 📈 top_queries/ # 性能查询分析
├── 🔒 blocking_queries.py # 锁定冲突分析
├── 🔍 database_overview.py # 综合评估
├── 🗺️ schema_mapping.py # 关系可视化
├── 🧹 vacuum_analysis.py # 维护优化
└── 🛡️ sql/ # SQL 执行框架
数据库调优顾问 (DTA):
LLM 驱动的分析:
MIT 许可证