
这个n8n工作流实现了PostgreSQL数据库的自动化备份功能,将数据库表数据转换为CSV格式并存储到GitHub仓库中。
## 工作流概述
该工作流每天定时执行,自动检测PostgreSQL数据库中的所有表,将数据转换为CSV文件,并根据文件是否已存在于GitHub仓库来决定是创建新文件还是更新现有文件。
## 主要功能节点
### 1. 定时触发器 (Schedule Trigger)
– 配置为每天执行一次
– 确保备份任务按计划自动运行
### 2. GitHub文件管理
– **List files from repository**: 获取GitHub仓库中现有文件列表
– **Combine file names**: 聚合文件名用于后续比较
– **Update file**: 更新已存在的文件
– **Upload file**: 上传新文件
### 3. PostgreSQL数据库操作
– **List tables1**: 从information_schema获取数据库表列表
– **List tables**: 查询具体表的数据内容
– **Code节点**: 处理数据转换逻辑
### 4. 文件处理与条件判断
– **Convert to File**: 将数据库数据转换为CSV文件
– **Split in Batches**: 分批处理数据
– **If节点**: 检查文件是否已存在于仓库
## 工作流程
1. 每日定时触发备份任务
2. 获取GitHub仓库中现有文件列表
3. 查询PostgreSQL数据库中的所有表
4. 遍历每个表,将数据转换为CSV格式
5. 检查文件是否已存在于GitHub
6. 根据检查结果决定上传新文件或更新现有文件
## 技术特点
– 智能文件存在性检查
– 自动数据格式转换
– 版本控制友好的提交信息
– 支持大规模数据库备份
## 应用场景
– 数据库定期备份
– 数据版本管理
– 开发环境数据同步
– 数据迁移和恢复

评论(0)