موافقجميع الخدمات تعمل بشكل طبيعي
Infrawireشعار Infrawireالتوثيق

تثبيت PostgreSQL على VPS Linux

PostgreSQL نظام إدارة علاقي موثوق، مناسب لتطبيقات الويب والتحليل. يغطي هذا الدليل التثبيت على Ubuntu/Debian وإنشاء قاعدة وأول إعدادات أمان.

المتطلبات

  • Ubuntu 20.04+ أو Debian 11+ مع sudo
  • 1 Go RAM على الأقل (2 Go+ للأحمال الأعلى)

التثبيت

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.

إنشاء قاعدة ومستخدم تطبيق

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:

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 أو عدّل pg_hba.conf.
  • Connection refused: تحقق من الخدمة والمنفذ 5432.