تخطَّ إلى المحتوى
ARAB CODEمجتمع المطورين العرب

سجل التعديلات

العودة إلى المقال

الفرق مقارنةً بالنسخة السابقة

+ **PostgreSQL** نظام قواعد بيانات علائقي مفتوح المصدر، يلتزم بمعيار SQL ويضيف أنواعاً متقدمة مثل `JSONB` والمصفوفات والبحث النصي.
+ ## أنواع مفيدة
+
+ | النوع | الاستخدام |
+ |---|---|
+ | `TEXT` | نصوص بأي طول |
+ | `TIMESTAMPTZ` | وقت مع منطقة زمنية (يُخزن بتوقيت UTC) |
+ | `NUMERIC(10,2)` | مبالغ مالية بدقة تامة |
+ | `JSONB` | بيانات JSON قابلة للفهرسة والاستعلام |
+ | `UUID` | معرفات فريدة عالمياً |
+
+ ## الفهارس
+
+ الفهرس يسرّع البحث على حساب مساحة إضافية وكتابة أبطأ قليلاً:
+
+ ```sql
+ CREATE INDEX posts_user_id_idx ON posts (user_id);
+ CREATE INDEX users_email_lower_idx ON users (lower(email)); -- فهرس على تعبير
+ ```
+
+ ## المعاملات
+
+ ```sql
+ BEGIN;
+ UPDATE accounts SET balance = balance - 100 WHERE id = 1;
+ UPDATE accounts SET balance = balance + 100 WHERE id = 2;
+ COMMIT; -- أو ROLLBACK للتراجع عن الكل
+ ```
+
+ المعاملة تضمن أن تنجح كل العمليات معاً أو لا ينجح شيء منها. مستوى العزل الافتراضي `READ COMMITTED`.
+
+ ## فهم الأداء
+
+ ```sql
+ EXPLAIN ANALYZE
+ SELECT * FROM posts WHERE user_id = 7;
+ ```
+
+ يعرض خطة التنفيذ الفعلية والزمن. `Seq Scan` على جدول كبير مع شرط انتقائي يعني غالباً أن فهرساً مفقود.
+
+ ## النسخ الاحتياطي
+
+ ```bash
+ pg_dump --format=custom --file=backup.dump mydb
+ pg_restore --dbname=mydb_restore backup.dump
+ ```
+
+ اختبر الاستعادة دورياً؛ النسخة التي لم تُجرَّب استعادتها ليست نسخة موثوقة.
+
+ ## أخطاء شائعة
+
+ - تخزين الوقت بنوع `TIMESTAMP` بلا منطقة زمنية ثم الخلط بين التوقيتات.
+ - استخدام `FLOAT` للمبالغ المالية.
+ - فتح اتصال جديد لكل طلب بدل استخدام مجمّع اتصالات (pool).
  1. معتمدالنسخة الحاليةفريق عرب كودرسمي

    مقال مرجعي رسمي من فريق عرب كود

    ملاحظة المراجعة: Approved for publication: site owner written instruction 2026-10-24 (final completion directive: populate the wiki via the official editorial identity)