قاعدة PostgreSQL موثوقة ومحفوظة بنسخ احتياطية وعالية الأداء هي أساس أي تطبيق جدي. مع Coolify يمكنك توفير instance PostgreSQL بنقرة واحدة، لكن الانتقال للإنتاج يتطلب احتياطات.
راجع دليل Coolify الكامل.
التوفير عبر Coolify
+ New Resource → Database → PostgreSQL. اختيار الإصدار 16 أو 17، اسم instance، كلمة سر قوية. القاعدة تُطلق في حاوية Docker، معروضة فقط على الشبكة الداخلية.
التأمين
- عدم عرض القاعدة عمومياً أبداً
- كلمة سر قوية 32 حرفاً، مدارة في password manager
- مستخدمون منفصلون لكل تطبيق بصلاحيات أدنى
- SSL حتى داخلياً
Tuning لـ VPS متواضع
# لـ VPS 4 GB RAM
shared_buffers = 1GB
effective_cache_size = 3GB
work_mem = 16MB
maintenance_work_mem = 256MB
max_connections = 100
random_page_cost = 1.1النسخ الاحتياطي التلقائي
Backups → Add. جدولة يومية 03:00، احتفاظ 30 يوماً، وجهة Backblaze B2 (~6 USD/TB/شهر) أو MinIO ذاتي الاستضافة.
المراقبة
CREATE EXTENSION pg_stat_statements;
SELECT query, calls, total_exec_time, mean_exec_time
FROM pg_stat_statements
ORDER BY total_exec_time DESC
LIMIT 10;PgBouncer للاتصالات الكثيرة
إذا كان تطبيقك يفتح اتصالات قصيرة كثيرة، أضف PgBouncer في وضع transaction pooling. تذهب من 1000 اتصال client مخفض إلى 25-30 اتصالاً Postgres حقيقياً.
أخطاء شائعة
| الخطأ | السبب | الحل |
|---|---|---|
| FATAL: too many connections | Pool واسع | PgBouncer transaction pooling |
| OOM killer يقتل Postgres | VPS صغير | تخفيض shared_buffers أو إضافة swap |
| Backup يفشل صامتاً | credentials S3 منتهية | اختبار aws s3 ls |