Vertica数据库插件

一个为Dify平台提供的Vertica数据库插件,支持通过自然语言进行安全的数据库查询、探索和分析。

  • by rorycgy823
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 rorycgy823/vertica-dify-plugin

使用说明

Dify的Vertica数据库插件

Dify插件,通过自然语言提供全面的Vertica数据库操作。此插件使AI助手能够安全有效地查询、探索和分析Vertica数据库。

特性

  • 🔒 安全第一设计:默认情况下为只读模式,具有可配置的写入权限
  • ⚡ 高性能:连接池、流式查询和优化的批处理
  • 🔍 架构发现:完整的数据库探索工具
  • 📊 分析就绪:支持复杂查询和大型数据集处理
  • 🔧 生产就绪:SSL支持、超时配置和强大的错误处理

可用工具

查询执行

  • 执行SQL查询:使用参数化支持运行SQL查询
  • 流查询结果:通过可配置的批处理高效处理大型数据集

架构发现

  • 列表表格:使用元数据获取架构中的所有表
  • 列表视图:检索具有定义的视图
  • 列出索引:获取投影信息(相当于Vertica的索引)
  • 获取表结构:详细的列信息、类型和约束

安装

来自Dify市场

  1. 打开Dify并前往 插件 > 插件市场
  2. 搜索“Vertica数据库”
  3. 点击 安装

手动安装

  1. 下载插件包(vertica.difypkg)
  2. 在Dify,前往 插件 > 安装自定义插件
  3. 上传包文件

配置

必需设置

  • 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操作,请执行以下操作:

  1. 集 只读模式 到 false 在插件配置中
  2. 确保数据库用户具有适当的权限
  3. 警告:只有在了解安全影响的情况下,才能禁用只读模式

性能优化

连接管理

  • 自动连接池
  • 可配置的连接限制
  • 多个查询的连接重用

查询优化

  • 参数化查询可防止SQL注入
  • 大型结果集的流式传输
  • 可配置的超时可防止挂起查询

Vertica特定功能

  • 投影感知查询(Vertica的索引系统)
  • 针对柱状存储进行了优化
  • 支持复杂的分析查询

故障排除

连接问题

  • 验证主机、端口和数据库名称
  • 检查用户凭据和权限
  • 确保与Vertica服务器的网络连接

查询超时

  • 增加 查询超时 设置复杂查询
  • 考虑对大型数据集使用流媒体
  • 优化数据库端的查询性能

权限错误

  • 确保用户对查询的表具有SELECT权限
  • 对于模式发现,用户需要访问系统目录
  • 检查只读模式设置

需求

  • 迪菲:社区版v1.0.0或更高版本
  • Vertica数据库:任何最新版本
  • 网络接入:能够连接到Vertica服务器
  • Python依赖关系:由Dify自动管理

支持

  • 文档: Dify插件文档
  • 问题:通过Dify的插件系统报告错误
  • 社区:加入Dify社区讨论

许可证

此插件在MIT许可证下发布。查看原件 Vertica MCP服务器 了解更多信息。

致谢

此插件基于 Vertica MCP服务器 通过 @hechtcarmel,适用于Dify插件生态系统。