n8n x Supabase: เชื่อมต่อ Backend สมัยใหม่
วิธีใช้ n8n กับ Supabase เพื่ออ่านเขียนข้อมูล PostgreSQL บน Cloud ผ่าน REST API โดยไม่ต้องตั้ง Server เอง
Supabase เป็น Open Source Alternative ของ Firebase ที่ใช้ PostgreSQL เป็นฐาน ข้อดีหลักคือได้ทั้ง Database ที่แข็งแกร่ง, REST API อัตโนมัติ, Authentication, และ Realtime Subscription ในที่เดียว ทีม Dev สมัยใหม่นิยมใช้ Supabase เป็น Backend เพราะ Setup เร็ว Scale ได้ดี และมี Free Tier ที่ใช้ได้จริง
เมื่อใช้ n8n ร่วมกับ Supabase คุณได้ทั้งพลังของ PostgreSQL และความยืดหยุ่นของ n8n ในการสร้าง Automation ซับซ้อน ไม่ว่าจะเป็น Sync ข้อมูลระหว่างระบบ, Processing ข้อมูลก่อนบันทึก, หรือ Trigger Action เมื่อข้อมูลเปลี่ยน
ตั้งค่า Supabase Credentials ใน n8n
ขั้นตอนที่ 1: สร้าง Supabase Project
- ไปที่ supabase.com และสร้าง Account
- สร้าง New Project ตั้งชื่อและเลือก Region ที่ใกล้ที่สุด (Singapore เหมาะสำหรับไทย)
- รอสักครู่ให้ Project พร้อมใช้งาน
ขั้นตอนที่ 2: หา API Key และ URL
- ไปที่ Project Settings > API
- Copy:
- Project URL — เช่น
https://xxxxxxxxxxxx.supabase.co - anon public key — ใช้สำหรับ Public Access (Row Level Security ป้องกันอยู่)
- service_role key — ใช้สำหรับ Admin Operations (เก็บเป็นความลับ)
- Project URL — เช่น
ขั้นตอนที่ 3: ตั้งค่าใน n8n
- ไปที่ Settings > Credentials > Add Credential
- เลือก Supabase
- ใส่ Host (Project URL) และ Service Role Secret
- กด Test แล้ว Save
Operation: Get Many — ดึงข้อมูลหลายรายการ
ตัวอย่าง: ดึง User ทั้งหมดที่ยังใช้งานอยู่
- เพิ่ม Supabase Node
- เลือก Operation: Get Many
- ระบุ Table Name:
users - เพิ่ม Filter:
is_activeequalstrue - ตั้ง Limit ตามต้องการ (ค่า Default คือ 100)
รองรับ Filter หลายเงื่อนไขพร้อมกัน เช่น status = 'active' AND created_at > '2026-01-01'
Operation: Create — เพิ่ม Record ใหม่
ตัวอย่าง: บันทึก Form Submission ลง Supabase
- รับข้อมูลจาก Webhook
- ใช้ Supabase Node เลือก Create
- ระบุ Table:
form_submissions - Map Fields จาก Webhook Data
Supabase จะคืน Record ที่สร้างใหม่พร้อม id ที่ Generate อัตโนมัติ (UUID หรือ Sequence แล้วแต่ Design)
Operation: Update — แก้ไข Record
ต้องระบุเงื่อนไขเพื่อระบุ Row ที่ต้องการแก้ไข เช่น id หรือ Field ที่ Unique
ตัวอย่าง: อัปเดตสถานะ Subscription
- เลือก Operation: Update
- Match Column:
user_idequals{{ $json.user_id }} - Update Field:
subscription_status=premium
Operation: Delete — ลบ Record
ตัวอย่าง: ลบ Record ที่หมดอายุ
- เลือก Operation: Delete
- Match Column:
expires_atlessThan{{ $now.toISO() }}
ใช้ HTTP Request Node กับ Supabase REST API
สำหรับ Operation ที่ Supabase Node ไม่รองรับโดยตรง เช่น Complex Query หรือ Stored Procedure สามารถใช้ HTTP Request Node เรียก Supabase REST API โดยตรงได้
ตัวอย่าง: Query ด้วย Filter ซับซ้อน
Method: GET
URL: https://xxxxxxxxxxxx.supabase.co/rest/v1/orders
Headers:
apikey: YOUR_ANON_KEY
Authorization: Bearer YOUR_SERVICE_ROLE_KEY
Content-Type: application/json
Query Parameters:
status=eq.pending&created_at=gte.2026-01-01&select=id,customer_name,total
Supabase REST API ใช้ PostgREST ซึ่งรองรับ Operator หลากหลาย เช่น eq, neq, gt, lt, like, in และ or
ใช้ Supabase กับ n8n สำหรับงาน AI
Supabase รองรับ pgvector Extension ซึ่งทำให้สามารถเก็บ Vector Embeddings ใน PostgreSQL ได้โดยตรง เหมาะสำหรับสร้าง RAG (Retrieval Augmented Generation) System
โครงสร้าง Workflow:
- รับ Document ใหม่ (PDF, ข้อความ)
- ส่งให้ OpenAI สร้าง Embedding
- บันทึก Embedding ลง Supabase ผ่าน HTTP Request
- เมื่อมีคำถาม ค้นหา Document ที่ใกล้เคียงที่สุดด้วย pgvector
- ส่งผลลัพธ์ให้ LLM สรุปคำตอบ
Workflow ตัวอย่าง: ระบบจัดการสมาชิก
สถานการณ์: ร้านค้าออนไลน์ต้องการส่งอีเมลต้อนรับเมื่อมีสมาชิกใหม่ลงทะเบียน
Workflow:
- Webhook Trigger — รับข้อมูลจากฟอร์มลงทะเบียน
- Supabase Create — บันทึก User ลงตาราง
users - Email Node — ส่งอีเมลต้อนรับพร้อม Activation Link
- Supabase Update — อัปเดต
welcome_email_sent = true
ความแตกต่างระหว่าง Supabase Node และ PostgreSQL Node
n8n มีทั้ง Supabase Node และ PostgreSQL Node ต่างกันอย่างไร?
Supabase Node ใช้ REST API ของ Supabase ไม่ต้องเปิด Port Database ตรงๆ ปลอดภัยกว่า เหมาะกับการใช้งานทั่วไป
PostgreSQL Node เชื่อมต่อ Database โดยตรง รองรับ SQL Query ซับซ้อนได้เต็มที่ เหมาะถ้าต้องการ JOIN, Transaction หรือ Stored Procedure ต้องเปิด Database Connection Port จากภายนอก
แนะนำให้เริ่มจาก Supabase Node ก่อน ถ้าต้องการ Query ที่ Supabase Node ทำไม่ได้ค่อยเปลี่ยนไปใช้ PostgreSQL Node
ข้อควรระวัง
Row Level Security (RLS): ถ้าใช้ anon key ข้อมูลจะถูกกรองตาม RLS Policy ที่ตั้งไว้ ถ้าต้องการ Access ข้อมูลทั้งหมดให้ใช้ service_role key แต่เก็บไว้เป็นความลับเสมอ
Free Tier Limits: Supabase Free Tier หยุดทำงานหลังไม่ได้ใช้ 1 สัปดาห์ ถ้า Production ควร Upgrade เป็น Pro Plan
Database Backup: Supabase Pro Plan มี Daily Backup อัตโนมัติ Free Tier ไม่มี ควร Export ข้อมูลสำคัญเป็นระยะ
อยากเรียน n8n แบบเป็นระบบ ตั้งแต่เริ่มต้นจนสร้าง Workflow ใช้งานจริงได้ ลองดู คอร์สสอน n8n ที่ aiunlock.co
Related posts
n8n x Airtable: ใช้ Airtable เป็น Backend ง่ายๆ
เชื่อมต่อ n8n กับ Airtable เพื่ออ่าน เพิ่ม อัปเดต และลบข้อมูลอัตโนมัติ เหมาะสำหรับทีมที่ไม่มี Dev
n8n กับ Database: เชื่อมต่อและจัดการข้อมูลแบบ Pro
คู่มือครบ n8n กับ Database ครอบคลุม MySQL, Airtable, Supabase, Notion พร้อมเทคนิค ETL และการแปลงข้อมูลใน Workflow
n8n x MySQL: อ่าน เขียน Query อัตโนมัติ
วิธีเชื่อมต่อ n8n กับ MySQL เพื่ออ่าน เขียน และ Query ข้อมูลอัตโนมัติ พร้อมตัวอย่าง Workflow จริง