Dify的Vertica数据库插件
Dify插件,通过自然语言提供全面的Vertica数据库操作。此插件使AI助手能够安全有效地查询、探索和分析Vertica数据库。
特性
- 🔒 安全第一设计:默认情况下为只读模式,具有可配置的写入权限
- ⚡ 高性能:连接池、流式查询和优化的批处理
- 🔍 架构发现:完整的数据库探索工具
- 📊 分析就绪:支持复杂查询和大型数据集处理
- 🔧 生产就绪:SSL支持、超时配置和强大的错误处理
可用工具
查询执行
- 执行SQL查询:使用参数化支持运行SQL查询
- 流查询结果:通过可配置的批处理高效处理大型数据集
架构发现
- 列表表格:使用元数据获取架构中的所有表
- 列表视图:检索具有定义的视图
- 列出索引:获取投影信息(相当于Vertica的索引)
- 获取表结构:详细的列信息、类型和约束
安装
来自Dify市场
- 打开Dify并前往 插件 > 插件市场
- 搜索“Vertica数据库”
- 点击 安装
手动安装
- 下载插件包(
vertica.difypkg) - 在Dify,前往 插件 > 安装自定义插件
- 上传包文件
配置
必需设置
- Vertica主机:数据库服务器主机名或IP地址
- 数据库名称:Vertica数据库的名称
- 用户名:具有适当权限的数据库用户
可选设置
- 端口:数据库端口(默认值:5433)
- 密码:用户密码(如果需要)
- 只读模式:启用安全限制(默认:启用)
- 连接限制:最大并发连接数(默认值:10)
- 查询超时:执行超时(毫秒)(默认值:60000)
- SSL已启用:使用SSL/TLS加密(默认:禁用)
- 默认架构:查询的默认架构(默认:public)
使用示例
基本查询
SELECT customer_state, COUNT(*) as count
FROM customer_dimension
GROUP BY customer_state
ORDER BY count DESC
LIMIT 10;模式探索
-- List all tables in the public schema
-- Use the "List Tables" tool
-- Get detailed structure of a table
-- Use the "Get Table Structure" tool with table_name="customer_dimension"大数据集处理
-- For queries returning >10,000 rows, use "Stream Query Results"
-- Set batch_size=1000 and max_rows as needed
SELECT * FROM sales_fact WHERE sale_date >= '2024-01-01';安全与安保
只读模式(推荐)
启用后,只允许使用以下查询类型:
SELECT声明SHOW命令DESCRIBE声明EXPLAIN计划WITH条款
写入操作
要启用INSERT/UPDATE/DELETE/CREATE/DROP操作,请执行以下操作:
- 集 只读模式 到
false在插件配置中 - 确保数据库用户具有适当的权限
- 警告:只有在了解安全影响的情况下,才能禁用只读模式
性能优化
连接管理
- 自动连接池
- 可配置的连接限制
- 多个查询的连接重用
查询优化
- 参数化查询可防止SQL注入
- 大型结果集的流式传输
- 可配置的超时可防止挂起查询
Vertica特定功能
- 投影感知查询(Vertica的索引系统)
- 针对柱状存储进行了优化
- 支持复杂的分析查询
故障排除
连接问题
- 验证主机、端口和数据库名称
- 检查用户凭据和权限
- 确保与Vertica服务器的网络连接
查询超时
- 增加 查询超时 设置复杂查询
- 考虑对大型数据集使用流媒体
- 优化数据库端的查询性能
权限错误
- 确保用户对查询的表具有SELECT权限
- 对于模式发现,用户需要访问系统目录
- 检查只读模式设置
需求
- 迪菲:社区版v1.0.0或更高版本
- Vertica数据库:任何最新版本
- 网络接入:能够连接到Vertica服务器
- Python依赖关系:由Dify自动管理
支持
- 文档: Dify插件文档
- 问题:通过Dify的插件系统报告错误
- 社区:加入Dify社区讨论
许可证
此插件在MIT许可证下发布。查看原件 Vertica MCP服务器 了解更多信息。
