سجل التعديلات
الفرق مقارنةً بالنسخة السابقة
+ **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).
مقال مرجعي رسمي من فريق عرب كود
ملاحظة المراجعة: Approved for publication: site owner written instruction 2026-10-24 (final completion directive: populate the wiki via the official editorial identity)