قاعدة بيانات PostgreSQL

PostgreSQL قاعدة بيانات مجانية ترفض تخزين أي معلومة غير منطقية، ولهذا تُختار حين يجب أن تكون الأرقام صحيحة.

يُعرف أيضًا بـ Postgres بوستجرس قاعدة بيانات مفتوحة المصدر

التعريف

PostgreSQL، ويختصرها معظم الناس إلى Postgres، تحفظ معلومات النظام في جداول تمامًا مثل MySQL وبقية عائلتها، وهي مجانية ومفتوحة المصدر فيحق لأي شركة استخدامها بلا مقابل. أما الفرق الحقيقي فهو الطبع، لأن Postgres صارمة فيما تقبله، وهذه الصرامة نفسها هي سبب اختيارها.

اطلب منها حفظ يوم الحادي والثلاثين من فبراير فلن تخزن شيئًا قريبًا منه، بل تتوقف وتقول لا. وأعطها اسمًا أطول مما يسمح به العمود فترفضه أيضًا بدل أن تقص الحروف الأخيرة بصمت. قواعد البيانات القديمة كانت تقبل الاثنين دون كلمة، ولهذا لم يكتشف المحل الخطأ إلا حين وصل عنوان توصيل مقطوع من نصفه. الرفض في اليوم الأول مزعج، لكنه بالضبط ما تريده في السنة الثالثة حين يجب أن تستقيم الأموال.

وتؤدي Postgres أيضًا أعمالًا عدة كانت ستحتاج برامج إضافية. فهي تجيب عن أسئلة ثقيلة عبر ملايين السطور، مثل مبيعات العام الماضي بحسب الفرع والشهر والمنتج، بينما يواصل المحل خدمة زبائنه. وتقيس المسافات على الخريطة، وبهذا يعرف النظام أي فرع أقرب إلى العميل. كما تحفظ سجلات غير منتظمة بجانب الجداول المرتبة، وهو ما يفيد حين يكون لنوع من المنتجات حقول لا توجد في غيره. لذلك يتغير شكل النظام دون الانتقال إلى قاعدة بيانات أخرى، والانتقال لاحقًا من أغلى ما يفعله أي مشروع.

وهنا الجزء الذي لا يذكره أحد تقريبًا. فحين تعدّل Postgres سطرًا أو تحذفه تحتفظ بالنسخة القديمة حتى تمر مهمة تنظيف، ولذلك لا تعود المساحة فورًا. وهكذا قد يكبر حجم الملف على القرص في جدول مزدحم بينما يقل عدد السطور فعليًا. التنظيف يعمل وحده في الأحوال العادية، لكنه إن تأخر امتلأ القرص في أحد أيام الأحد الهادئة وتوقف الموقع. فاسأل من يراقب ذلك، وكيف سيعرف أنه تأخر.

أما العائق الصريح فهو المال، لأن الاستضافة المشتركة الرخيصة تضم MySQL دائمًا تقريبًا ولا تضم Postgres في الغالب. ولهذا قد يعني اختيارها دفع ثمن خادم حقيقي كما في هوسترينا. وتختار لينكي سوفت لنظم المعلومات Postgres حين يحسب النظام أموالًا، أو حين تكون التقارير بأهمية الشاشة اليومية، وهو ما يشمل المحاسبة والمخزون بين عدة فروع وكل عمل يكون فيه الرقم الخاطئ خسارة حقيقية. أما موقع حجز صغير فلا يستحق هذا الإيجار الإضافي. وفي الحالتين اسأل عن قاعدة البيانات التي سيستخدمها تطبيق الويب ولماذا، لأن الإجابة الجيدة من لينكي سوفت أو من غيرها تسعها جملة واحدة.

أسئلة حول قاعدة بيانات PostgreSQL

هل PostgreSQL أفضل من MySQL؟
ليست أفضل بل أكثر صرامة. فهي ترفض البيانات غير المنطقية وتتعامل جيدًا مع التقارير الثقيلة. أما MySQL فاستضافتها أرخص والتوظيف لها أسهل. اختر حسب ما يفعله نظامك فعلًا.
هل استخدام PostgreSQL مجاني في الشركات؟
نعم. ترخيصها يسمح لأي شركة باستخدامها بلا مقابل ودون رسوم لكل مستخدم. أنت تدفع ثمن الخادم الذي تعمل عليه وثمن من يعتني بها.
هل تستطيع PostgreSQL تخزين بيانات حرة مثل مستندات JSON؟
نعم، في القاعدة نفسها إلى جانب الجداول العادية. وهذا يفيد حين يكون لنوع من السجلات حقول لا توجد في غيره، ويوفر تشغيل قاعدة بيانات ثانية بجانب الأولى.
هل أحتاج خادمًا خاصًا لتشغيل PostgreSQL؟
غالبًا نعم. فأغلب الاستضافات المشتركة الرخيصة تقدم MySQL فقط، ولذلك تعني Postgres عادةً خادمًا افتراضيًا أو قاعدة بيانات مُدارة، بتكلفة شهرية تناسب ذلك.
ما هي عملية التنظيف في PostgreSQL وهل تهمني؟
هي مهمة التنظيف التي تستعيد المساحة التي تركتها السطور المعدلة أو المحذوفة. وتعمل وحدها. ويكفي أن تهتم بقدر أن تسأل من يتأكد أنها لا تتأخر، لأن تأخرها يملأ القرص.

ما زلت غير متأكد كيف ينطبق هذا على مشروعك؟

أخبرنا بما تبنيه وسنجيبك بلغة واضحة.