OpenCloud
N8N

Supabase

Hướng dẫn kết nối n8n với Supabase PostgreSQL và xử lý các lỗi thường gặp.

Kết nối n8n với Supabase

Hướng dẫn này mô tả cách cấu hình n8n để sử dụng Supabase làm cơ sở dữ liệu, bao gồm các lỗi thường gặp và cách khắc phục.

Cấu hình kết nối

Supabase không hỗ trợ kết nối trực tiếp qua IPv4 — hostname db.<project-ref>.supabase.co chỉ trả về địa chỉ IPv6. Thay vào đó, hãy sử dụng Connection Pooler để có địa chỉ IPv4.

Lấy thông tin kết nối Pooler

  1. Vào Supabase Dashboard > Connect hoặc truy cập trực tiếp vào URL sau, thay [YOUR-PROJECT-ID] bằng ID dự án của bạn:
    https://supabase.com/dashboard/project/YOUR-PROJECT-ID?showConnect=true&connectTab=direct&method=transaction
  2. Chọn tab Direct > Transaction Pooler để xem thông tin kết nối.

  1. Sao chép các thông tin sau:
Biến môi trườngGiá trị
DB_POSTGRESDB_HOSTaws-0-<region>.pooler.supabase.com
DB_POSTGRESDB_PORT6543
DB_POSTGRESDB_DATABASEpostgres
DB_POSTGRESDB_USERpostgres.<project-ref>
DB_POSTGRESDB_PASSWORDMật khẩu Database của bạn
DB_POSTGRESDB_SSLtrue
  1. Khởi tạo hàm uuid_generate_v4()
    Supabase cài extension uuid-ossp trong schema extensions, nhưng n8n tìm hàm này ở schema public. Bạn cần tạo hàm chuyển tiếp trong schema public:
    CREATE OR REPLACE FUNCTION public.uuid_generate_v4()
      RETURNS uuid
      LANGUAGE sql
      AS $$
        SELECT extensions.uuid_generate_v4();
    $$;
    

Dùng port 6543 (Transaction mode), không phải 5432. User phải có dạng postgres.<project-ref>, không phải chỉ postgres.

Xử lý sự cố

getaddrinfo ENOTFOUND db.<project>.supabase.co

Hostname kết nối trực tiếp chỉ có IPv6. Hãy chuyển sang dùng Transaction Pooler như hướng dẫn ở trên.

function "uuid_generate_v4" does not exist

Hàm uuid_generate_v4() không tồn tại trong schema public. Hãy tạo hàm chuyển tiếp như hướng dẫn ở trên để giải quyết lỗi này.

Copyright © 2026