فارسی (Farsi)
€EUR

نصب PostgreSQL روی VPS لینوکس

1 min
سرور مجازی (VPS/VDS)

PostgreSQL یک سیستم مدیریت پایگاه داده رابطه‌ای قابل اعتماد است که برای برنامه‌های وب، هوش تجاری و بارهای کاری ترکیبی مناسب است. این راهنما نصب روی Ubuntu/Debian، ساخت پایگاه داده و نخستین تنظیمات امنیتی را پوشش می‌دهد.

پیش‌نیازها

  • VPS لینوکس (Ubuntu 20.04+ یا Debian 11+) با sudo
  • دست‌کم 1 GB RAM (2 GB+ در صورت بار زیاد)

نصب

1. به‌روزرسانی و نصب سرور

Bash
sudo apt update && sudo apt upgrade -y sudo apt install -y postgresql postgresql-contrib

2. بررسی سرویس

Bash
sudo systemctl status postgresql sudo systemctl enable postgresql

به‌طور پیش‌فرض PostgreSQL فقط به‌صورت محلی (127.0.0.1) گوش می‌دهد؛ این حالت زمانی مناسب است که برنامه شما روی همان VPS اجرا شود.

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

به کاربر سیستمی postgres تغییر دهید و سپس کلاینت psql را باز کنید:

Bash
sudo -u postgres psql

داخل psql (نام‌ها و رمز عبور را تطبیق دهید):

SQL
CREATE USER monapp WITH PASSWORD 'mot_de_passe_solide'; CREATE DATABASE monapp_db OWNER monapp; GRANT ALL PRIVILEGES ON DATABASE monapp_db TO monapp; \q

آزمایش اتصال:

Bash
psql -h 127.0.0.1 -U monapp -d monapp_db

رشته اتصال معمول

برنامه‌های شما اغلب از نشانی‌ای شبیه این استفاده می‌کنند:

TEXT
postgresql://monapp:[email protected]:5432/monapp_db

امنیت (ضروری)

  1. رمز عبور قوی برای کاربر برنامه.
  2. PostgreSQL را بدون ضرورت مطلق در اینترنت در معرض دسترسی قرار ندهید. اگر ناچارید: فایروال سخت‌گیرانه، listen_addresses، pg_hba.conf و ترجیحاً تونل یا VPN.
  3. اگر سرویس‌هایی عمومی هستند، آن را با UFW و Fail2ban ترکیب کنید.

دسترسی از راه دور (جز در صورت نیاز واقعی اجتناب کنید)

فایل postgresql.conf را ویرایش کنید (مسیر متغیر است، اغلب /etc/postgresql/*/main/):

Config
listen_addresses = '*'

در pg_hba.conf یک خط محدودکننده اضافه کنید (مثال: فقط IP ثابت یک سرور دیگر):

TEXT
host monapp_db monapp 203.0.113.50/32 scram-sha-256

سپس:

Bash
sudo systemctl restart postgresql

بکاپ‌ها

برای یک بکاپ منطقی ساده:

Bash
sudo -u postgres pg_dump monapp_db > backup_monapp.sql

بازیابی:

Bash
sudo -u postgres psql monapp_db < backup_monapp.sql

بکاپ‌های منظم (cron) را به یک فضای ذخیره‌سازی خارجی زمان‌بندی کنید.

عیب‌یابی

  • Peer authentication failed: از -h 127.0.0.1 استفاده کنید تا به‌جای سوکت یونیکس، TCP اجباری شود، یا pg_hba.conf را تنظیم کنید.
  • Connection refused: بررسی کنید سرویس فعال باشد و پورت درست را هدف گرفته باشید (5432 به‌طور پیش‌فرض).

با آخرین پیشنهادها، تخفیف‌ها و تبلیغات ویژه به‌روز بمانید.

مشاهده تخفیف‌ها

ما از کوکی استفاده می‌کنیم

ما از کوکی‌های تحلیلی برای بهبود تجربه شما در سایت خود استفاده می‌کنیم. هیچ داده‌ای به اشخاص ثالث فروخته نمی‌شود. اطلاعات بیشتر در سیاست حفظ حریم خصوصی ما.