ตรวจสอบการ Replicate ข้อมูล HIS ด้วย n8n

ตรวจสอบการ Replicate ข้อมูล HIS ด้วย n8n
Sep 17, 2025
n8nhispostgresqlreplicatemasterslave
📌 วัตถุประสงค์
Workflow นี้ถูกออกแบบมาเพื่อตรวจสอบความถูกต้องของการ replicate ข้อมูลระหว่างฐานข้อมูล PostgreSQL Master และ Slave โดยจะเปรียบเทียบจำนวนแถวในแต่ละตารางที่สำคัญของระบบ HIS และแจ้งผลผ่าน Google Sheets และระบบแจ้งเตือนไปที่ App BMS Notify
🧩 โครงสร้าง Workflow
1. Schedule Trigger
- ตั้งเวลาให้ workflow ทำงานทุกวันเวลา 23:15 น.
2. Set Node: กำหนดตารางที่ต้องตรวจสอบ
- ตารางที่ใช้ตรวจสอบ ได้แก่:
ovstvn_statopitemrece
3. Split In Batches
- แยกข้อมูลตารางออกเป็นชุด ๆ เพื่อให้สามารถวนลูปตรวจสอบได้ทีละตาราง
4. Code Node: เตรียมข้อมูลสำหรับ SQL
- ใช้ JavaScript เพื่อจัดรูปแบบข้อมูลให้พร้อมสำหรับการ query
5. PostgreSQL Nodes: ดึงข้อมูลจาก Master และ Slave
- Query:
SELECT COUNT(vn) as cc FROM {{ $json.tbl }} WHERE vstdate=CURRENT_DATE - ใช้ credentials เดียวกันในการเชื่อมต่อทั้ง master และ slave
6. Merge Node
- รวมผลลัพธ์จาก master และ slave เพื่อเปรียบเทียบ
7. Google Sheets Node
- บันทึกผลการตรวจสอบลงใน Google Sheets โดยใช้โหมด
Append or Update
8. Code Node: สร้าง Markdown Report
- สร้างรายงานในรูปแบบ Markdown โดยมีข้อมูล:
- วันที่และเวลา
- ชื่อตาราง
- จำนวนข้อมูลใน master และ slave
- สถานะ (✅ OK หรือ ❌ MISMATCH)
- สรุปจำนวนตารางที่ตรวจสอบ
9. HTTP Request Node: แจ้งเตือนผ่าน API
- ส่งรายงาน Markdown ไปยังระบบแจ้งเตือนภายในผ่าน API
https://api.notify.bmscloud.in.th/api/v1/push-notify
📊 ตัวอย่าง Markdown Report
# PostgreSQL Replication Check Report
**Date:** 17/09/2025
**Time:** 15:23
| Table Name | Master Count | Slave Count | Status |
|------------|--------------|-------------|--------|
| ovst | 1234 | 1234 | ✅ OK |
| vn_stat | 5678 | 5670 | ❌ MISMATCH |
| opitemrece | 91011 | 91011 | ✅ OK |
---
**Total Tables Checked:** 3
- OK: 2
- Mismatch: 1

✅ สรุป
Workflow นี้ช่วยให้สามารถตรวจสอบความถูกต้องของการ replicate ข้อมูลระหว่าง master และ slave ได้อย่างอัตโนมัติ พร้อมทั้งบันทึกและแจ้งเตือนผลลัพธ์อย่างมีประสิทธิภาพ เหมาะสำหรับทีม IT หรือ DevOps ที่ดูแลระบบ HIS
