دليل النشر

PostgreSQL على خادم VPS: قاعدة بيانات موثوقة ومُتحكَّم بها

انشر على VPS Cloud →

قواعد البيانات8 دقيقة قراءة

PostgreSQL على خادم VPS: قاعدة بيانات موثوقة ومُتحكَّم بها

غالبًا ما يكون PostgreSQL قاعدة البيانات الموثوقة للتطبيقات المهنية وواجهات برمجة التطبيقات وأدوات التحليل. على خادم VPS من ServOrbit، تتحكّم في الإصدار والتخزين والنسخ الاحتياطية والوصول بدلًا من دفع رسوم قاعدة بيانات مُدارة بحسب الجيجابايت. يركّز الدليل على القرارات المهمّة: البقاء والمستخدمون والشبكة والاستعادة.

لماذا الاستضافة الذاتية لـ PostgreSQL على خادم VPS

تفرض قواعد البيانات المُدارة (RDS وCloud SQL) رسومًا بحسب الجيجابايت المخزَّن وبحسب IOPS وبحسب الاتصال، وغالبًا ما تحدّ من الامتدادات المتاحة. بنشر PostgreSQL على خادم VPS خاص بك، تُفعّل pg_stat_statements وPostGIS وpgvector أو TimescaleDB دون قيود، وتختار إصدارك المحدّد (15 و16 و17) وتُبقي بياناتك في نطاق قضائي تتحكّم فيه. يوفّر خادم VPS بقرص SSD من نوع NVMe ومعالج مخصّص أزمنة كمون I/O منخفضة جدًا، مثالية لأحمال العمل المعاملاتية لتطبيق في بيئة الإنتاج. تدفع اشتراكًا ثابتًا وقابلًا للتوقّع، وتقرّر وحدك استراتيجيتك في التماثل والتشفير والاحتفاظ بالنسخ الاحتياطية.

الفوائد الملموسة لـ PostgreSQL مستضاف ذاتيًا

  • تكلفة ثابتة وقابلة للتوقّع: لا فوترة بحسب الجيجابايت أو IOPS أو عدد الاتصالات النشطة.
  • امتدادات حرّة: pgvector للذكاء الاصطناعي، وPostGIS للبيانات الجغرافية المكانية، وTimescaleDB للسلاسل الزمنية.
  • تحكّم كامل في النسخ الاحتياطية: pg_dump مجدول، أو pg_basebackup، أو تماثل فيزيائي نحو خادم VPS ثانٍ.
  • ضبط دقيق لـ postgresql.conf (shared_buffers وwork_mem وWAL) مستحيل لدى معظم العروض المُدارة.
  • سيادة البيانات: تبقى بياناتك على بنية تحتية تختارها أنت.
  • وصول فعلي بصلاحيات المستخدم الأعلى (superuser) للتدقيق والتنميط والتحسين دون تذكرة دعم.

المتطلّبات العتادية والبرمجية

لنسخة PostgreSQL للتطوير أو لمشروع إنتاج صغير، جهّز خادم VPS بمعالجين افتراضيين (2 vCPU) و4 جيجابايت من الذاكرة و40 جيجابايت من قرص SSD بنوع NVMe: يحبّ PostgreSQL الذاكرة لتخزين صفحاته المؤقّت. أمّا لحمل أكثر كثافةً (عدّة مئات من الاتصالات أو مجموعات بيانات بعشرات الجيجابايتات)، فاستهدف 4 vCPU و8 جيجابايت من الذاكرة. أمّا من جهة البرمجيات: Ubuntu 22.04 أو 24.04 LTS، وDocker Engine وإضافة Docker Compose v2، واسم نطاق يشير إلى خادم VPS (مثل db.mydomain.com) إذا كشفت الوصول عن بُعد، وجدار حماية ufw مُعدّ للسماح بمرور الحدّ الأدنى الصارم فقط. احجز أيضًا وحدة تخزين Docker مخصّصة لـ PGDATA لفصل البيانات عن الحاوية.

نشر PostgreSQL باستخدام Docker في بيئة الإنتاج

01

تجهيز خادم VPS وجدار الحماية

اتّصل عبر SSH، وحدّث النظام باستخدام apt update && apt upgrade -y، وثبّت Docker عبر curl -fsSL https://get.docker.com | sh. احظر المنفذ 5432 من الخارج باستخدام ufw deny 5432: يجب ألّا تُكشف قاعدة البيانات مباشرةً للإنترنت أبدًا.

02

كتابة ملفّ docker-compose.yml

أنشئ خدمة postgres:17، وركّب وحدة تخزين مُسمّاة على /var/lib/postgresql/data، وعرّف POSTGRES_PASSWORD وPOSTGRES_DB وPOSTGRES_USER عبر ملفّ .env لا يُودَع (commit) أبدًا. أضف shm_size: 256mb لعمليات الفرز الكبيرة وhealthcheck باستخدام pg_isready.

03

تشغيل قاعدة البيانات وتهيئتها

ابدأ بـ docker compose up -d، وتحقّق من السجلّات عبر docker compose logs -f postgres، ثمّ اتّصل باستخدام docker compose exec postgres psql -U app -d mabase. أنشئ أدوارك التطبيقية بصلاحيات دنيا بدلًا من استخدام المستخدم الأعلى.

04

كشف الوصول عبر نفق أو وكيل TLS

للوصول الآمن عن بُعد، لا تفتح المنفذ 5432 بنصّ صريح أبدًا: استخدم نفق SSH (ssh -L 5432:localhost:5432) أو ضع pgbouncer خلف وكيل عكسي. فعّل SSL من جهة PostgreSQL بشهادة Let's Encrypt مُركّبة في الحاوية (ssl = on في postgresql.conf).

05

ضبط الإعداد

اضبط shared_buffers عند نحو 25% من الذاكرة، وeffective_cache_size عند 50-75%، وwork_mem بحسب استعلاماتك. فعّل pg_stat_statements لتحديد الاستعلامات البطيئة. استخدم أداة PGTune كنقطة انطلاق.

06

أتمتة النسخ الاحتياطية

جدوِل pg_dump يوميًا عبر مهمّة cron على المضيف، واضغط بتنسيق .dump المخصّص، وانسخ الأرشيفات إلى تخزين خارجي. اختبر الاستعادة بانتظام باستخدام pg_restore: النسخة الاحتياطية غير المختبرة غير موجودة.

لتحقيق التوافر العالي، انشر خادم VPS ثانيًا في تماثل فيزيائي بالبثّ (primary_conninfo + فتحة تماثل). تحصل على نسخة احتياطية ساخنة (standby) جاهزة للتبديل، ويمكنك تحويل استعلامات القراءة الثقيلة إليها (hot_standby = on) لتخفيف العبء عن الخادم الأساسي. وباقترانه مع pgBackRest لنسخ احتياطية تزايدية تفاضلية، تبلغ نقطة هدف الاستعادة (RPO) قدرها بضع دقائق دون الاعتماد على خدمة مُدارة.

الوثائق الرسمية

للإعداد المتقدّم والخيارات الخاصة بالأداة وتغييرات الإصدار، ارجع إلى الوثائق الرسمية لـ PostgreSQL. يغطّي هذا الدليل النشر المباشر على خادم VPS من ServOrbit؛ وتبقى وثائق الناشر المرجع للضبط الدقيق.

انشر PostgreSQL الخاص بك في بضع دقائق

أطلق خادم VPS Cloud من ServOrbit بقالب Docker مُعدّ مسبقًا، وقرص SSD من نوع NVMe، ومعالج مخصّص: البيئة المثالية لاستضافة PostgreSQL دون فوترة بحسب الجيجابايت.

بحاجة إلى مساعدة؟

تصفّح مركز المساعدة والأسئلة الشائعة، أو راسل فريقنا — الدعم بـ العربية والفرنسية والإنجليزية.