سی ام اس نویسسی ام اس نویسیاد بگیر، سیستم خودتو بنویس
مجلهتماس با ما
سی ام اس نویسسی ام اس نویس

CMS نویس مرجعی برای آموزش برنامه نویسی وب و PHP، توسعه افزونه‌های اختصاصی وردپرس، طراحی ورک‌فلو و اتوماسیون با n8n و توسعه CMS های اختصاصی است. هدف ما ارائه آموزش‌های کاربردی و راهکارهای حرفه‌ای برای توسعه‌دهندگان، کسب‌وکارها و علاقه‌مندان به دنیای برنامه‌نویسی است.

پیوندهای سریع
محصولات فیزیکیمحصولات دیجیتالدوره‌های آموزشی
سی ام اس نویس
مجله سی ام اس نویستماس با ماپنل کاربری
سی ام اس نویس — تمامی حقوق برای سی ام اس نویس محفوظ است. © 1406 تماس با ما09307711941
اتصال n8n به PostgreSQL؛ آموزش تنظیم پایگاه داده و ذخیره اطلاعات

اتصال n8n به PostgreSQL؛ آموزش تنظیم پایگاه داده و ذخیره اطلاعات

ممدیر کل سیستم ۲۷ مهر ۱۴۰۵ ۱۶ دقیقه مطالعه ۱ بازدید
اتصال n8n به PostgreSQL؛ آموزش تنظیم پایگاه داده و ذخیره اطلاعات

وقتی n8n را برای اولین بار نصب می‌کنید، ممکن است بدون نصب پایگاه داده جداگانه بتوانید Workflow بسازید، اطلاعات اتصال را ذخیره کنید و فرایندهای خودکار را اجرا کنید. دلیل این موضوع آن است که n8n به‌صورت پیش‌فرض از SQLite استفاده می‌کند.

اما زمانی که تعداد Workflowها افزایش پیدا می‌کند، اجرای مداوم فرایندها اهمیت بیشتری پیدا می‌کند یا می‌خواهید زیرساخت قابل‌مدیریت‌تری داشته باشید، ممکن است بخواهید از PostgreSQL استفاده کنید.

PostgreSQL یک سیستم مدیریت پایگاه داده رابطه‌ای است که برای ذخیره و مدیریت اطلاعات برنامه‌ها به کار می‌رود. n8n نیز امکان استفاده از آن را در نصب‌های خودمیزبان فراهم می‌کند.

در این مقاله یاد می‌گیریم PostgreSQL چه نقشی در n8n دارد، چگونه آن را با Docker Compose راه‌اندازی کنیم، چه متغیرهایی برای اتصال لازم هستند و پیش از انتقال یک نصب موجود باید به چه نکاتی توجه کنیم.

۱. چرا n8n به پایگاه داده نیاز دارد؟

n8n برای نگهداری اطلاعات داخلی خود به پایگاه داده نیاز دارد. این اطلاعات می‌تواند شامل مواردی مانند Workflowها، اعتبارنامه‌های ذخیره‌شده و اطلاعات مربوط به اجراها باشد.

برای مثال، فرض کنید یک Workflow ساخته‌اید که هر روز اطلاعات سفارش‌ها را دریافت می‌کند. تنظیمات و ساختار این Workflow باید ذخیره شوند تا پس از راه‌اندازی مجدد سرویس نیز در دسترس باشند.

یا فرض کنید اطلاعات اتصال به یک API را در n8n ذخیره کرده‌اید. این اطلاعات نیز باید به‌صورت امن نگهداری شوند تا Workflow بتواند از آن‌ها استفاده کند.

پایگاه داده n8n بخشی از زیرساخت اصلی برنامه است؛ بنابراین انتخاب روش ذخیره‌سازی، مدیریت دسترسی‌ها و تهیه نسخه پشتیبان اهمیت زیادی دارد.

۲. تفاوت SQLite و PostgreSQL در n8n چیست؟

n8n به‌صورت پیش‌فرض از SQLite استفاده می‌کند و PostgreSQL نیز یکی از گزینه‌های پشتیبانی‌شده است. انتخاب مناسب به اندازه پروژه و نیازهای زیرساختی شما بستگی دارد.

ویژگیSQLitePostgreSQL
راه‌اندازی اولیهساده‌تر؛ بدون سرویس دیتابیس جداگانهنیازمند تنظیم اتصال به پایگاه داده
زیرساختمعمولاً فایل پایگاه دادهسرویس پایگاه داده مستقل
مدیریت کاربران دیتابیسامکانات محدودتر در سطح فایلمدیریت کاربران و مجوزها در سطح پایگاه داده
پشتیبان‌گیرینیازمند رعایت ملاحظات فایل و سازگاری نسخه پشتیبانامکان استفاده از ابزارهای اختصاصی مانند pg_dump
کاربرد متداولشروع کار و نصب‌های سادهاستقرارهایی که مدیریت مستقل پایگاه داده برایشان اهمیت دارد

این جدول به معنی آن نیست که PostgreSQL در تمام شرایط سریع‌تر یا مناسب‌تر است. عملکرد واقعی به حجم داده، تعداد اجراهای هم‌زمان، طراحی Workflowها، منابع سرور و تنظیمات پایگاه داده بستگی دارد.

اگر تازه می‌خواهید n8n را امتحان کنید، SQLite ممکن است کاملاً کافی باشد. اگر در حال طراحی زیرساختی برای استفاده عملیاتی و طولانی‌مدت هستید، PostgreSQL می‌تواند گزینه مناسبی باشد.

مستندات رسمی انتخاب پایگاه داده:

https://docs.n8n.io/hosting/configuration/supported-databases-settings/

۳. پیش‌نیازهای اتصال n8n به PostgreSQL

در این آموزش از Docker Compose استفاده می‌کنیم تا n8n و PostgreSQL در یک پروژه تعریف شوند.

پیش‌نیازها:

  • نصب Docker Engine
  • نصب Docker Compose
  • دسترسی به ترمینال سرور
  • آشنایی مقدماتی با فایل‌های YAML
  • فضای ذخیره‌سازی کافی برای پایگاه داده و نسخه‌های پشتیبان

اگر n8n را از قبل نصب کرده‌اید، پیش از تغییر تنظیمات حتماً مشخص کنید که اطلاعات فعلی آن کجا ذخیره می‌شوند و آیا Workflowهای عملیاتی دارید یا خیر.

هشدار مهم: تنظیم PostgreSQL برای یک نصب جدید با انتقال یک نصب موجود از SQLite به PostgreSQL یکسان نیست. تغییر متغیرهای اتصال، اطلاعات قبلی SQLite را به PostgreSQL منتقل نمی‌کند. در ادامه ابتدا روش نصب جدید را بررسی می‌کنیم و سپس درباره مهاجرت توضیح می‌دهیم.

۴. ساخت پوشه پروژه و فایل‌های تنظیمات

اگر می‌خواهید یک نصب جدید ایجاد کنید، ابتدا پوشه پروژه را بسازید:


mkdir -p /opt/n8n-postgres

cd /opt/n8n-postgres

سپس فایل متغیرهای محیطی را ایجاد کنید:


nano .env

مقادیر زیر را با اطلاعات اختصاصی خودتان جایگزین کنید:


POSTGRES_DB=n8n

POSTGRES_USER=n8n_user

POSTGRES_PASSWORD=REPLACE_WITH_A_STRONG_UNIQUE_PASSWORD

برای مقدار رمز عبور، از یک رمز قوی و تصادفی استفاده کنید. مقدار نمونه را عیناً در سرور عملیاتی قرار ندهید.

فایل را ذخیره کنید و دسترسی آن را محدود کنید:


chmod 600 .env

اگر پروژه شما از قبل فایل .env دارد، آن را بدون بررسی بازنویسی نکنید؛ ممکن است حاوی تنظیمات مهم دیگری باشد.

همچنین فایل .env را در مخزن عمومی Git قرار ندهید.

۵. ساخت فایل Docker Compose برای n8n و PostgreSQL

در همان پوشه، فایل زیر را ایجاد کنید:


nano compose.yaml

برای یک نصب جدید، می‌توانید از ساختار نمونه زیر استفاده کنید:


services:

  postgres:

    image: postgres:18

    restart: unless-stopped

    environment:

      POSTGRES_DB: ${POSTGRES_DB}

      POSTGRES_USER: ${POSTGRES_USER}

      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}

      PGDATA: /var/lib/postgresql/data

    volumes:

      - postgres_data:/var/lib/postgresql/data

    healthcheck:

      test:

        - CMD-SHELL

        - pg_isready -h localhost -U "$$POSTGRES_USER" -d "$$POSTGRES_DB"

      interval: 5s

      timeout: 5s

      retries: 10



  n8n:

    image: docker.n8n.io/n8nio/n8n

    restart: unless-stopped

    ports:

      - "127.0.0.1:5678:5678"

    environment:

      DB_TYPE: postgresdb

      DB_POSTGRESDB_HOST: postgres

      DB_POSTGRESDB_PORT: 5432

      DB_POSTGRESDB_DATABASE: ${POSTGRES_DB}

      DB_POSTGRESDB_USER: ${POSTGRES_USER}

      DB_POSTGRESDB_PASSWORD: ${POSTGRES_PASSWORD}

      DB_POSTGRESDB_SCHEMA: public

      TZ: Asia/Tehran

      GENERIC_TIMEZONE: Asia/Tehran

    volumes:

      - n8n_data:/home/node/.n8n

    depends_on:

      postgres:

        condition: service_healthy



volumes:

  postgres_data:

  n8n_data:

این نمونه برای راه‌اندازی جدید طراحی شده است. برای محیط عملیاتی، بهتر است نسخه تصویر n8n را نیز به‌صورت مشخص انتخاب کنید و ارتقاهای بعدی را آگاهانه انجام دهید.

این تنظیمات چه کاری انجام می‌دهند؟

سرویس postgres

این بخش پایگاه داده را اجرا می‌کند. نام سرویس postgres در شبکه داخلی Compose به‌عنوان نام میزبان برای اتصال n8n استفاده می‌شود.

متغیرهای POSTGRES_DB و POSTGRES_USER

این متغیرها نام پایگاه داده و کاربر اولیه را تعیین می‌کنند. مقدار آن‌ها در زمان راه‌اندازی اولیه کانتینر PostgreSQL برای ایجاد پایگاه داده و کاربر استفاده می‌شود.

تغییر این متغیرها پس از ایجاد پایگاه داده، لزوماً اطلاعات یا کاربر موجود را تغییر نمی‌دهد؛ برای تغییر کاربران یا رمزهای موجود باید از روش مدیریتی مناسب PostgreSQL استفاده کنید.

متغیر DB_TYPE


DB_TYPE: postgresdb

به n8n می‌گوید به‌جای پایگاه داده پیش‌فرض SQLite از PostgreSQL استفاده کند.

متغیر DB_POSTGRESDB_HOST


DB_POSTGRESDB_HOST: postgres

در این مثال، postgres نام سرویس پایگاه داده در شبکه داخلی Docker Compose است. بنابراین لازم نیست برای اتصال داخلی از IP عمومی سرور استفاده کنید.

متغیر depends_on

در این نمونه، n8n منتظر می‌ماند تا Healthcheck سرویس PostgreSQL موفق شود. این روش از تلاش برای اجرای n8n پیش از آماده شدن پایگاه داده جلوگیری می‌کند.

متغیر PGDATA

در این نمونه، مسیر ذخیره‌سازی داده‌های PostgreSQL به‌صورت مشخص تنظیم شده است. این نکته به‌خصوص هنگام استفاده از تصویر PostgreSQL 18 اهمیت دارد؛ زیرا ساختار مسیرهای داده در این نسخه تغییراتی داشته است.

مستندات رسمی Docker Compose برای PostgreSQL و n8n:

https://docs.n8n.io/hosting/installation/server-setups/docker-compose/

۶. چرا n8n باید از نام سرویس postgres استفاده کند؟

یکی از اشتباهات رایج هنگام اتصال دو کانتینر، استفاده از localhost برای آدرس پایگاه داده است.

درون کانتینر n8n، آدرس localhost به خود کانتینر n8n اشاره می‌کند؛ نه به کانتینر PostgreSQL.

از آنجا که هر دو سرویس در یک شبکه Compose قرار دارند، n8n می‌تواند از نام سرویس پایگاه داده استفاده کند:


DB_POSTGRESDB_HOST: postgres

DB_POSTGRESDB_PORT: 5432

در این ساختار، ارتباط میان n8n و PostgreSQL از شبکه داخلی Docker برقرار می‌شود.

به همین دلیل در نمونه بالا پورت 5432 را روی میزبان منتشر نکرده‌ایم. اگر نیاز مدیریتی خاصی به دسترسی از بیرون دارید، باید آن را با کنترل دسترسی و محدودیت شبکه مناسب طراحی کنید.

۷. اجرای سرویس‌ها و بررسی اتصال

پس از ذخیره فایل‌ها، ابتدا وارد پوشه پروژه شوید:


cd /opt/n8n-postgres

سپس پیکربندی را بررسی کنید:


docker compose config

اگر خطایی در ساختار فایل وجود نداشت، سرویس‌ها را اجرا کنید:


docker compose up -d

وضعیت سرویس‌ها را مشاهده کنید:


docker compose ps

اگر همه‌چیز به‌درستی اجرا شده باشد، باید سرویس PostgreSQL به وضعیت سالم برسد و n8n نیز شروع به کار کند.

برای مشاهده لاگ‌های PostgreSQL:


docker compose logs --tail=100 postgres

برای مشاهده لاگ‌های n8n:


docker compose logs --tail=100 n8n

اگر n8n اجرا نشد، پیام خطا را بررسی کنید. مواردی مانند رمز عبور نادرست، نام اشتباه پایگاه داده، مشکل شبکه یا آماده نبودن پایگاه داده ممکن است باعث شکست اتصال شوند.

۸. چگونه بررسی کنیم PostgreSQL آماده کار است؟

برای بررسی وضعیت آمادگی PostgreSQL می‌توانید دستور زیر را اجرا کنید:


docker compose exec postgres \

  pg_isready -U n8n_user -d n8n

اگر در فایل .env نام کاربر یا پایگاه داده را تغییر داده‌اید، مقادیر دستور را نیز متناسب با تنظیمات خود تغییر دهید.

برای مشاهده پایگاه داده‌ها:


docker compose exec postgres \

  psql -U n8n_user -d n8n -c '\conninfo'

این دستور اطلاعات اتصال جاری را نمایش می‌دهد.

برای بررسی جداول ایجادشده توسط n8n:


docker compose exec postgres \

  psql -U n8n_user -d n8n -c '\dt'

ممکن است فهرست جداول در شروع کار خالی باشد یا تا زمان راه‌اندازی کامل n8n، ساختار مورد انتظار ایجاد نشده باشد. پس از اجرای موفق برنامه، دوباره بررسی کنید.

همچنین می‌توانید وارد پنل n8n شوید و یک Workflow آزمایشی بسازید، آن را ذخیره کنید و پس از راه‌اندازی مجدد سرویس، در دسترس بودن آن را بررسی کنید.

۹. اطلاعات n8n دقیقاً کجا ذخیره می‌شوند؟

یکی از نکات مهم این است که استفاده از PostgreSQL به معنی حذف نیاز به Volume مربوط به n8n نیست.

در نمونه ما دو Volume وجود دارد:


volumes:

  postgres_data:

  n8n_data:

Volume اول برای داده‌های پایگاه PostgreSQL استفاده می‌شود و Volume دوم مسیر داده‌های محلی n8n را نگهداری می‌کند.

مسیر /home/node/.n8n می‌تواند اطلاعات مهمی مانند کلید رمزگذاری اعتبارنامه‌ها و برخی داده‌های محلی برنامه را در خود داشته باشد.

اگر این اطلاعات از بین بروند، ممکن است حتی با بازیابی پایگاه داده نیز نتوانید همه اطلاعات را به شکل مورد انتظار بازیابی کنید.

بنابراین:

  • از پایگاه داده PostgreSQL نسخه پشتیبان تهیه کنید.
  • Volume مربوط به n8n را نیز در برنامه پشتیبان‌گیری لحاظ کنید.
  • کلید رمزگذاری n8n را حفظ و محرمانه نگهداری کنید.
  • روش بازیابی را در محیط آزمایشی بررسی کنید.

هشدار: دستور docker compose down -v می‌تواند Volumeهای پروژه را حذف کند. آن را برای عیب‌یابی عادی اجرا نکنید؛ مگر اینکه عمداً قصد حذف داده‌ها را داشته باشید و از پیامد آن مطمئن باشید.

۱۰. تفاوت نصب جدید با انتقال n8n از SQLite به PostgreSQL

این موضوع یکی از مهم‌ترین بخش‌های راه‌اندازی PostgreSQL است.

فرض کنید n8n را قبلاً نصب کرده‌اید، چندین Workflow ساخته‌اید و اطلاعات اتصال سرویس‌ها را ذخیره کرده‌اید. اگر فقط متغیر زیر را اضافه کنید:


DB_TYPE: postgresdb

n8n از PostgreSQL استفاده خواهد کرد، اما اطلاعات قبلی SQLite به‌صورت خودکار به پایگاه داده جدید منتقل نمی‌شوند.

در نتیجه، ممکن است پس از راه‌اندازی، n8n را مانند یک نصب تازه مشاهده کنید؛ درحالی‌که اطلاعات قبلی هنوز در محل ذخیره‌سازی قبلی وجود دارند.

برای مهاجرت باید برنامه‌ای جداگانه داشته باشید که موارد زیر را پوشش دهد:

۱. شناسایی نسخه n8n و محل ذخیره داده‌های فعلی.

۲. تهیه نسخه پشتیبان از پایگاه داده و فایل‌های موردنیاز.

۳. بررسی روش رسمی انتقال داده‌ها متناسب با نسخه نصب‌شده.

۴. ایجاد PostgreSQL و تنظیم دسترسی‌های موردنیاز.

۵. انتقال اطلاعات با ابزار یا فرایند سازگار با نسخه n8n.

۶. بررسی Workflowها، اعتبارنامه‌ها و اطلاعات اجرا پس از انتقال.

۷. اطمینان از حفظ کلید رمزگذاری و امکان استفاده از اعتبارنامه‌های قبلی.

۸. نگه‌داشتن نسخه پشتیبان اولیه تا زمان تأیید کامل مهاجرت.

اگر سرویس عملیاتی دارید، ابتدا این فرایند را در محیط آزمایشی انجام دهید. تا زمانی که مهاجرت را تأیید نکرده‌اید، پایگاه داده قدیمی و نسخه پشتیبان را حذف نکنید.

برای اطلاعات رسمی، مستندات پایگاه داده و راهنمای مهاجرت نسخه مورد استفاده را بررسی کنید:

https://docs.n8n.io/hosting/

۱۱. پشتیبان‌گیری از PostgreSQL

پشتیبان‌گیری یکی از بخش‌های ضروری نگهداری n8n است. اگر پایگاه داده خراب شود یا اطلاعات به‌اشتباه حذف شوند، نسخه پشتیبان می‌تواند امکان بازیابی را فراهم کند.

یکی از ابزارهای متداول PostgreSQL، دستور pg_dump است که برای تهیه نسخه پشتیبان از یک پایگاه داده استفاده می‌شود.

برای نمونه، می‌توانید فایل پشتیبان را با دستور زیر ایجاد کنید:


docker compose exec -T postgres \

  pg_dump -U n8n_user -d n8n \

  > n8n-database-backup.sql

در این مثال، خروجی پایگاه داده در فایلی روی میزبان ذخیره می‌شود.

اگر نام کاربر یا پایگاه داده متفاوت است، دستور را مطابق تنظیمات خود تغییر دهید.

نکات مهم پشتیبان‌گیری

  • مطمئن شوید فایل پشتیبان ایجاد شده و حجم آن منطقی است.
  • خروجی فرمان و وضعیت موفقیت آن را بررسی کنید.
  • فایل را فقط روی همان سرور نگه ندارید؛ یک نسخه در محل امن دیگری ذخیره کنید.
  • دسترسی به نسخه پشتیبان را محدود کنید.
  • بازیابی را در یک محیط جداگانه آزمایش کنید.
  • اطلاعات رمزگذاری و کلیدهای موردنیاز n8n را نیز حفظ کنید.

فایل پشتیبان ممکن است حاوی اطلاعات حساس باشد. آن را مانند اطلاعات محرمانه پایگاه داده نگهداری کنید.

برای پایگاه داده‌های بزرگ یا سامانه‌های حساس، باید سیاست پشتیبان‌گیری را بر اساس حجم داده، میزان تغییرات و زمان مجاز قطعی سرویس طراحی کنید.

۱۲. مدیریت کاربر و رمز عبور PostgreSQL

در نمونه این مقاله، یک کاربر اولیه با نام n8n_user ایجاد می‌شود. برای پروژه‌های عملیاتی بهتر است کاربر مخصوص n8n را از حساب‌های مدیریتی عمومی جدا نگه دارید.

همچنین باید توجه کنید که متغیرهای POSTGRES_USER و POSTGRES_PASSWORD در تصویر رسمی PostgreSQL برای مقداردهی اولیه پایگاه داده کاربرد دارند. اگر Volume از قبل مقداردهی شده باشد، تغییر این متغیرها به‌تنهایی رمز عبور کاربر موجود را تغییر نمی‌دهد.

برای تغییر رمز عبور موجود باید از دستورهای مدیریتی PostgreSQL یا روش مدیریت امن مناسب استفاده کنید.

در محیط عملیاتی:

  • از رمزهای پیش‌فرض یا ساده استفاده نکنید.
  • رمز عبور را در کد یا مخزن عمومی قرار ندهید.
  • دسترسی شبکه‌ای PostgreSQL را محدود کنید.
  • از حساب اختصاصی برای n8n استفاده کنید.
  • برای تغییر رمز، برنامه‌ای داشته باشید که تنظیمات پایگاه داده و سرویس n8n را هماهنگ کند.

۱۳. خطاهای رایج اتصال n8n به PostgreSQL

خطای اتصال به میزبان

اگر n8n نتواند PostgreSQL را پیدا کند، مقدار DB_POSTGRESDB_HOST را بررسی کنید.

در ساختار Compose این مقاله، مقدار درست نام سرویس است:


DB_POSTGRESDB_HOST: postgres

اگر نام سرویس را تغییر داده‌اید، مقدار میزبان را نیز اصلاح کنید.

خطای احراز هویت

اگر پیام خطای مربوط به رمز عبور یا کاربر دریافت می‌کنید، موارد زیر را بررسی کنید:

  • نام کاربر در n8n با کاربر پایگاه داده مطابقت دارد؟
  • رمز عبور در تنظیمات n8n صحیح است؟
  • فایل .env مقدار موردانتظار را فراهم می‌کند؟
  • آیا پایگاه داده قبلاً مقداردهی شده و رمز قدیمی دارد؟

در صورت نیاز، تنظیمات واقعی کاربر PostgreSQL را بررسی کنید؛ صرفاً تغییر فایل .env همیشه برای اصلاح کاربر موجود کافی نیست.

پایگاه داده آماده نیست

اگر n8n زودتر از PostgreSQL شروع شود، ممکن است اتصال اولیه ناموفق باشد. در این مثال از Healthcheck و شرط service_healthy استفاده کرده‌ایم تا n8n منتظر آماده شدن پایگاه داده بماند.

اگر مشکل ادامه دارد، لاگ‌های هر دو سرویس را بررسی کنید.

n8n بالا می‌آید اما اطلاعات قبلی دیده نمی‌شوند

اگر پیش از این از SQLite استفاده می‌کردید، احتمالاً اطلاعات قبلی به PostgreSQL منتقل نشده‌اند. پیش از هر اقدامی، پایگاه داده و Volume قبلی را حفظ کنید و روش مهاجرت مناسب را بررسی کنید.

پس از ارتقای PostgreSQL، سرویس اجرا نمی‌شود

ارتقای نسخه اصلی PostgreSQL صرفاً با تغییر شماره تصویر Docker همیشه ممکن نیست؛ زیرا نسخه‌های اصلی مختلف ممکن است از قالب‌های متفاوتی برای فایل‌های داده استفاده کنند.

پیش از ارتقا، نسخه فعلی و مقصد را بررسی کنید، نسخه پشتیبان بگیرید و دستورالعمل رسمی ارتقای PostgreSQL را دنبال کنید.

۱۴. آیا اتصال n8n به PostgreSQL برای همه پروژه‌ها ضروری است؟

خیر. اگر هدف شما یادگیری، آزمایش Nodeها یا ساخت چند Workflow ساده است، استفاده از SQLite می‌تواند کافی باشد.

اما اگر می‌خواهید n8n را برای فرایندهای عملیاتی بلندمدت به کار ببرید، PostgreSQL می‌تواند مدیریت پایگاه داده را مستقل‌تر کند و ابزارهای شناخته‌شده‌ای برای پشتیبان‌گیری و مدیریت دسترسی در اختیار شما بگذارد.

برای تصمیم‌گیری، این عوامل را بررسی کنید:

  • تعداد و اهمیت Workflowها
  • حجم داده‌ها و تاریخچه اجراها
  • تعداد اجراهای هم‌زمان
  • منابع CPU، RAM و دیسک
  • نیازهای پشتیبان‌گیری و بازیابی
  • پیچیدگی مدیریت سرور
  • الزامات امنیتی و دسترسی‌ها

انتخاب پایگاه داده تنها یکی از عوامل پایداری سیستم است. طراحی درست Workflowها، مدیریت منابع، کنترل خطاها و نگهداری منظم نیز نقش مهمی دارند.

پرسش‌های متداول درباره اتصال n8n به PostgreSQL

آیا n8n به‌صورت پیش‌فرض از PostgreSQL استفاده می‌کند؟

خیر. نصب خودمیزبان n8n به‌صورت پیش‌فرض از SQLite استفاده می‌کند. برای PostgreSQL باید متغیرهای اتصال را تنظیم کنید.

آیا می‌توان PostgreSQL را روی سرور دیگری نصب کرد؟

بله. در این حالت باید آدرس میزبان، پورت، اطلاعات احراز هویت، دسترسی شبکه و در صورت نیاز تنظیمات TLS را مطابق معماری خود تنظیم کنید. پایگاه داده نباید بدون کنترل دسترسی مناسب روی اینترنت منتشر شود.

آیا با تغییر DB_TYPE اطلاعات قبلی منتقل می‌شوند؟

خیر. تغییر DB_TYPE اتصال n8n را به پایگاه داده انتخاب‌شده تغییر می‌دهد، اما اطلاعات پایگاه داده قبلی را به‌صورت خودکار منتقل نمی‌کند.

آیا با PostgreSQL دیگر به Volume مربوط به n8n نیاز نداریم؟

خیر. PostgreSQL اطلاعات پایگاه داده را نگهداری می‌کند، اما مسیر داده‌های محلی n8n نیز ممکن است اطلاعات ضروری، از جمله کلید رمزگذاری اعتبارنامه‌ها، را در خود داشته باشد. هر دو بخش باید در برنامه نگهداری و پشتیبان‌گیری لحاظ شوند.

آیا Docker Compose برای اجرای PostgreSQL کافی است؟

برای یک نصب ساده، Compose می‌تواند n8n و PostgreSQL را اجرا و مدیریت کند. برای محیط عملیاتی ممکن است به پایش، پشتیبان‌گیری خارج از سرور، مدیریت امن رمزها، محدودسازی شبکه و برنامه ارتقای پایگاه داده نیز نیاز داشته باشید.

جمع‌بندی

PostgreSQL یکی از گزینه‌های پشتیبانی‌شده برای نگهداری اطلاعات n8n است و می‌تواند برای استقرارهای عملیاتی، مدیریت مستقل‌تر پایگاه داده را فراهم کند.

برای اتصال موفق، باید سرویس پایگاه داده را اجرا کنید، اطلاعات اتصال را در متغیرهای محیطی تنظیم کنید، ارتباط شبکه‌ای بین کانتینرها را برقرار کنید و وضعیت سرویس‌ها را بررسی کنید.

مهم‌ترین نکته این است که نصب جدید را با مهاجرت اطلاعات موجود اشتباه نگیرید. اگر n8n شما از قبل Workflowها و اعتبارنامه‌های مهم دارد، پیش از تغییر پایگاه داده از اطلاعات نسخه پشتیبان تهیه کنید و مسیر مهاجرت را جداگانه آزمایش کنید.

نظرات (0)

نظرات پس از تأیید مدیر نمایش داده می‌شوند

هنوز نظری ثبت نشده است؛ اولین نفر باشید!

مقالات مرتبط

نصب n8n؛ آموزش کامل راه‌اندازی n8n از صفر تا اجرا

نصب n8n؛ آموزش کامل راه‌اندازی n8n از صفر تا اجرا

۱۲ دقیقه
معایب n8n چیست؟ بررسی ۱۰ محدودیت و مشکل مهم قبل از استفاده

معایب n8n چیست؟ بررسی ۱۰ محدودیت و مشکل مهم قبل از استفاده

۲۱ دقیقه
مزایای n8n چیست؟ ۱۲ دلیل برای استفاده از n8n در اتوماسیون کسب‌وکار

مزایای n8n چیست؟ ۱۲ دلیل برای استفاده از n8n در اتوماسیون کسب‌وکار

۲۲ دقیقه
n8n یا Power Automate؛ کدام ابزار اتوماسیون برای کسب‌وکار شما بهتر است؟

n8n یا Power Automate؛ کدام ابزار اتوماسیون برای کسب‌وکار شما بهتر است؟

۲۲ دقیقه