ما المثبّت على خادم PostgreSQL الخاص بك؟
- PostgreSQL 18 من مستودع PGDG الرسمي
- دور superuser باسم yonetici وقاعدة بيانات فارغة باسم uygulama
- اتصالات عن بُعد عبر TLS فقط، مع مصادقة كلمة المرور SCRAM-SHA-256
- شهادة خادم موقّعة ذاتيًا
- عميل سطر الأوامر psql
- الإعدادات في /etc/postgresql/18/main، وإضافاتنا في conf.d/seturack.conf
- جدار حماية يفتح المنفذ 5432 لقاعدة البيانات والمنفذ 22 لـ SSH
ما الحجم الذي تحتاجه لـ PostgreSQL؟
لا يعطي PostgreSQL رقمًا رسميًا لـ RAM، لأن حجم البيانات وعدد الاتصالات المتزامنة هما ما يحدد حاجتك. وكقاعدة عامة، يكفي 1 GB لبداية مشروع صغير، ومن 2 إلى 4 GB لتطبيق في الإنتاج. لا يغيّر هذا التثبيت إعدادات الذاكرة، فيبقى shared_buffers على قيمته الافتراضية. وتقترح الوثائق الرسمية 25 بالمئة من RAM قيمةً أولى على خادم لا يشغّل سوى قاعدة البيانات وفيه 1 GB أو أكثر. ارفعه بنفسك بعد رفع الحجم. والقرص لا يمكن خفضه لاحقًا.
| الاستخدام | الحجم | السعر | اختر |
|---|---|---|---|
| للبداية | 1 GB RAM · 1 vCore · 25 GB NVMe | $2.58/شهريًا | |
| متوسط | 2 GB RAM · 1 vCore · 40 GB NVMe | $4.01/شهريًا | |
| قوي | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/شهريًا |
لمن هو؟
- المطورون الذين يعمل تطبيقهم في مكان آخر ويريدون قاعدة البيانات على خادم مستقل
- الفرق التي تريد دور superuser لإدارة الأدوار والإضافات والإعدادات بنفسها
- المشاريع المبنية على إضافات مثل pgvector أو PostGIS
- التطبيقات المستضافة في تركيا التي تريد قاعدة بياناتها في إسطنبول
ماذا يحدث بعد الطلب؟
- اضبط الحجم وأتمّ الدفع.
- يبدأ خادمك ويُثبَّت PostgreSQL من تلقاء نفسه. استغرق ذلك نحو 3 دقائق في اختباراتنا على خوادم حقيقية.
- في تبويب نظرة عامة بلوحتك انسخ صفوف عنوان الاتصال واسم الدخول وكلمة المرور.
- جرّب الاتصال من حاسوبك بهذا الأمر: psql 'postgresql://yonetici:PASSWORD@IP:5432/uygulama?sslmode=require'
- أنشئ دورًا وقاعدة بيانات لتطبيقك: CREATE ROLE api LOGIN PASSWORD 'new-password'; CREATE DATABASE api OWNER api;
- قيّد الوصول: ufw delete allow 5432/tcp ثم ufw allow from YOUR_IP to any port 5432
مع كل خادم
- نسخ احتياطي يومي مشمول في السعر
- حركة بيانات غير محدودة
- صلاحية root كاملة
- ارفع RAM والمعالج أو اخفضهما لاحقًا، وكبّر القرص
- الموقع: Istanbul · IST-1.
من المفيد أن تعرف
- المنفذ 5432 مفتوح للإنترنت. وإن كانت خوادمك وحدها هي التي تتصل، فقيّده في جدار الحماية بعناوين IP الخاصة بها.
- تُرفض الاتصالات عن بُعد دون TLS أو دون كلمة مرور، فلن يعمل sslmode=disable.
- الشهادة موقّعة ذاتيًا. يشفّر sslmode=require الاتصال لكنه لا يثبت هوية الخادم؛ ثبّت شهادتك الخاصة لاستخدام verify-full.
- الدور yonetici الظاهر في لوحتك هو superuser، فأبقِه خارج سلسلة اتصال تطبيقك.
- تصل التصحيحات الصغيرة عبر apt من مستودع PGDG. أما تنفيذ apt upgrade والترقيات الرئيسية بـ pg_upgrade فمسؤوليتك.
- تظل اللوحة تعرض كلمة المرور الأولى من التثبيت. وإن غيّرتها بـ ALTER ROLE فاحتفظ بالجديدة في مكان آمن بنفسك.
أسئلة وأجوبة عن PostgreSQL
كيف أتصل بخادم PostgreSQL الخاص بي؟
خذ عنوان الاتصال وكلمة المرور من لوحتك واستخدم هذه السلسلة: postgresql://yonetici:PASSWORD@IP:5432/uygulama?sslmode=require. ويمكن لـ psql وDBeaver وpgAdmin وأي عميل يقبل سلسلة اتصال أن يتصل بها.
هل PostgreSQL مفتوح للإنترنت، وكيف أغلقه؟
نعم، المنفذ 5432 مفتوح، لكن لا تُقبل إلا اتصالات TLS بكلمة مرور SCRAM. وللسماح بعناوين محددة فقط، نفّذ ufw delete allow 5432/tcp ثم ufw allow from YOUR_IP to any port 5432.
كم يحتاج PostgreSQL من RAM؟
لا يوجد رقم رسمي لـ RAM في PostgreSQL. وكقاعدة عامة، يكفي 1 GB لبداية مشروع صغير، ومن 2 إلى 4 GB لتطبيق في الإنتاج. وبعد رفع الحجم ارفع shared_buffers أيضًا؛ والاقتراح الرسمي 25 بالمئة من RAM.
لماذا يظهر خطأ شهادة عند الاتصال من Node.js؟
يفحص برنامج التشغيل node-postgres الشهادة حين يرى sslmode=require، ويرفض الشهادة الموقّعة ذاتيًا. استخدم sslmode=no-verify في سلسلة الاتصال. يبقى الاتصال مشفّرًا، لكن لا تُفحص هوية الخادم.
هل يمكنني تثبيت pgvector أو PostGIS؟
نعم. مستودع PGDG موجود أصلًا على الخادم، فنفّذ apt install postgresql-18-pgvector بصفة root ثم CREATE EXTENSION vector في قاعدة بياناتك. وPostGIS في المستودع نفسه باسم postgresql-18-postgis-3.
هل تشمل النسخ الاحتياطية قواعد بياناتي؟
نعم. يؤخذ نسخ احتياطي لخادمك كل ليلة وتُحفظ آخر 7 أيام، والنسخ الاحتياطي اليومي مشمول في السعر، وملفات قاعدة البيانات جزء من القرص. ولحفظ نسخة منفصلة من قاعدة بيانات أو جدول واحد، استخدم pg_dump أيضًا.