PostgreSQL
PostgreSQL ( / ˈpoʊstɡrɛskjuˌɛl /ⓘ POHST (gres-kew- EL )، [ 12 ] [ 13 ] والمعروف أيضًا باسمPostgres، هونظام إدارة قواعد بيانات علائقية(RDBMS)مجاني ومفتوح المصدر،قابلية التوسعوالتوافق معلغة SQL. يتميز PostgreSQLبمعاملاتذاتACID(الذرية،والاتساق،والعزل،والمتانةطرق عرضقابلة للتحديث تلقائيًا،وطرق عرض مُجسّدة،ومُشغّلات،ومفاتيح خارجية،وإجراءات مُخزّنة. [ 14 ] وهو مدعوم على جميعأنظمة التشغيل، بما في ذلكWindowsوLinuxوmacOSوFreeBSDوOpenBSD، ويتعامل مع مجموعة واسعة من أحمال العمل، بدءًا من الأجهزة الفردية وصولًا إلىمستودعات البيانات،وبحيرات البيانات، [ 15 ] أوخدمات الويبذاتالمستخدمين المتزامنين المتعددين.
يركز فريق تطوير PostgreSQL العالمي حصريًا على تطوير محرك قاعدة البيانات والمكونات المرتبطة به ارتباطًا وثيقًا. هذا الجوهر، من الناحية التقنية، هو ما يشكل PostgreSQL نفسه، ولكن هناك مجتمع مطورين واسع النطاق ونظام بيئي متكامل يوفر مجموعات ميزات مهمة أخرى قد يوفرها عادةً موردو البرامج الاحتكارية . تشمل هذه الميزات ميزات محرك قاعدة البيانات ذات الأغراض الخاصة، مثل تلك اللازمة لدعم قاعدة بيانات جغرافية مكانية [ 16 ] أو زمنية [ 17 ] أو ميزات تحاكي منتجات قواعد البيانات الأخرى. [ 18 ] [ 19 ] [ 20 ] [ 21 ] كما تتوفر من جهات خارجية مجموعة واسعة من ميزات واجهة المستخدم والآلة، مثل واجهات المستخدم الرسومية [ 22 ] [ 23 ] [ 24 ] أو مجموعات أدوات موازنة الأحمال والتوافر العالي . [ 25 ] تُعدّ شبكة دعم PostgreSQL الواسعة التابعة لجهات خارجية، والتي تضمّ أفرادًا وشركات ومنتجات ومشاريع، على الرغم من أنها ليست جزءًا من مجموعة تطوير PostgreSQL، ضرورية لاعتماد محرك قاعدة بيانات PostgreSQL واستخدامه، وتشكل النظام البيئي لـ PostgreSQL بشكل عام. [ 26 ]
كان اسم PostgreSQL في الأصل POSTGRES، نسبةً إلى أصوله كخليفة لقاعدة بيانات Ingres التي طُوّرت في جامعة كاليفورنيا، بيركلي . [ 27 ] [ 28 ] في عام 1996، أُعيد تسمية المشروع إلى PostgreSQL
ليعكس دعمه للغة SQL . بعد مراجعة في عام 2007، قرر فريق التطوير الإبقاء على اسم PostgreSQL والاسم المستعار Postgres. [ 29 ]
تاريخ
إنجرس وجامعة بوستجريس (1982-1994)
تطورت PostgreSQL من مشروع Ingres في جامعة كاليفورنيا، بيركلي. في عام 1982، غادر مايكل ستونبريكر ، قائد فريق Ingres ، بيركلي لإنشاء نسخة خاصة به من Ingres. [ 27 ] عاد إلى بيركلي عام 1985، وبدأ مشروعًا جديدًا لمعالجة مشاكل أنظمة قواعد البيانات المعاصرة التي برزت بشكل متزايد خلال أوائل الثمانينيات. فاز بجائزة تورينج عام 2014 تقديرًا لهذه المشاريع وغيرها، [ 30 ] والتقنيات الرائدة التي ابتكرها فيها.
يهدف مشروع POSTGRES الجديد إلى إضافة أقل عدد ممكن من الميزات اللازمة لدعم أنواع البيانات بشكل كامل . [ 31 ] شملت هذه الميزات القدرة على تعريف الأنواع ووصف العلاقات بشكل كامل - وهو أمر شائع الاستخدام، ولكن المستخدم هو المسؤول عن صيانته بالكامل. في POSTGRES، تفهم قاعدة البيانات العلاقات، ويمكنها استرجاع المعلومات من الجداول ذات الصلة بطريقة طبيعية باستخدام القواعد . استخدم POSTGRES العديد من أفكار Ingres، ولكن ليس شفرتها البرمجية. [ 32 ]
ابتداءً من عام ١٩٨٦، نُشرت أوراق بحثية تصف أساس النظام، وعُرض نموذج أولي في مؤتمر ACM SIGMOD عام ١٩٨٨. أصدر الفريق الإصدار الأول لعدد محدود من المستخدمين في يونيو ١٩٨٩، تلاه الإصدار الثاني مع نظام قواعد مُعاد كتابته في يونيو ١٩٩٠. أما الإصدار الثالث، الذي صدر عام ١٩٩١، فقد أعاد كتابة نظام القواعد مرة أخرى، وأضاف دعمًا لمديري تخزين متعددين [ ٣٣ ] ومحرك استعلام مُحسّن. بحلول عام ١٩٩٣، بدأ عدد المستخدمين يُثقل كاهل المشروع بطلبات الدعم والميزات. بعد إصدار الإصدار ٤.٢ [ ٣٤ ] في ٣٠ يونيو ١٩٩٤ - والذي كان في الأساس عملية تنظيف - انتهى المشروع. أصدرت جامعة بيركلي برنامج POSTGRES بموجب ترخيص MIT مُعدّل، مما مكّن المطورين الآخرين من استخدام الكود لأي غرض. في ذلك الوقت، كان POSTGRES يستخدم مترجم لغة الاستعلام POSTQUEL المتأثر بـ Ingres ، والذي يمكن استخدامه بشكل تفاعلي مع تطبيق وحدة تحكم يسمى . monitor
Postgres95 (1994–1996)
في عام ١٩٩٤، استبدل أندرو يو وجولي تشين، وهما طالبان دراسات عليا من جامعة بيركلي، مُفسِّر لغة الاستعلام POSTQUEL بمُفسِّر لغة الاستعلام SQL، مُنشئين بذلك Postgres95. monitorكما تم استبدال وحدة التحكم psql. أعلن يو وتشين عن الإصدار الأول (٠.٠١) للمُختبِرين التجريبيين في ٥ مايو ١٩٩٥. وفي ٥ سبتمبر ١٩٩٥، أُعلن عن الإصدار ١.٠ من Postgres95، بترخيص أكثر مرونة يسمح بتعديل البرنامج بحرية.
في 8 يوليو 1996، قدّم مارك فورنييه من شركة Hub.org Networking Services أول خادم تطوير غير تابع للجامعة لجهود تطوير البرمجيات مفتوحة المصدر. [ 3 ] وبمشاركة بروس مومجيان وفاديم ب. ميخيف، بدأ العمل على استقرار الكود الموروث من بيركلي.
PostgreSQL (1996–حتى الآن)
في عام ١٩٩٦، أُعيد تسمية المشروع إلى PostgreSQL ليعكس دعمه للغة SQL. وبدأ التواجد الإلكتروني على موقع PostgreSQL.org في ٢٢ أكتوبر ١٩٩٦. [ ٣٥ ] وصدر الإصدار الأول من PostgreSQL، وهو الإصدار ٦.٠، في ٢٩ يناير ١٩٩٧. ومنذ ذلك الحين، يتولى المطورون والمتطوعون حول العالم صيانة البرنامج تحت اسم "مجموعة تطوير PostgreSQL العالمية". [ ٢ ]
يستمر المشروع في توفير إصداراته بموجب ترخيص PostgreSQL المجاني والمفتوح المصدر . ويأتي الكود من مساهمات من موردين متخصصين، وشركات دعم، ومبرمجين للبرمجيات مفتوحة المصدر.
اعتبارًا من عام 2025، وصل PostgreSQL إلى الإصدار الرئيسي 18، والذي يتميز بتنفيذ الإدخال/الإخراج غير المتزامن (AIO)، مما يُمكّن مستخدمي قواعد البيانات من تنفيذ مهام الإدخال/الإخراج المتزامنة مثل القراءة المسبقة والمسح التسلسلي. [ 36 ]
التحكم في التزامن متعدد الإصدارات (MVCC)
يدير PostgreSQL التزامن من خلال التحكم في التزامن متعدد الإصدارات (MVCC)، الذي يمنح كل معاملة "لقطة" من قاعدة البيانات، مما يسمح بإجراء تغييرات دون التأثير على المعاملات الأخرى. هذا يُلغي إلى حد كبير الحاجة إلى أقفال القراءة، ويضمن احتفاظ قاعدة البيانات بمبادئ ACID . يوفر PostgreSQL أربعة مستويات لعزل المعاملات : القراءة غير الملتزمة، والقراءة الملتزمة، والقراءة المتكررة، والتسلسلية. ولأن PostgreSQL محصن ضد عمليات القراءة غير الملتزمة، فإن طلب مستوى عزل معاملة القراءة غير الملتزمة يوفر قراءة ملتزمة بدلاً من ذلك. يدعم PostgreSQL التسلسلية الكاملة عبر طريقة عزل اللقطة التسلسلية (SSI). [ 37 ] يُعاني تطبيق MVCC في PostgreSQL من مشاكل في الأداء تتطلب ضبطًا عند تعرضه لحمل كتابة كثيف يُحدّث الصفوف الموجودة. [ 38 ]
التخزين والنسخ
النسخ
يتضمن PostgreSQL خاصية النسخ الثنائي المدمجة، والتي تعتمد على إرسال التغييرات ( سجلات الكتابة المسبقة (WAL)) إلى العقد المنسوخة بشكل غير متزامن، مع إمكانية تشغيل استعلامات للقراءة فقط على هذه العقد المنسوخة. يتيح ذلك توزيع حركة بيانات القراءة بكفاءة بين عدة عقد. أما برامج النسخ السابقة التي كانت تسمح بتوسيع نطاق القراءة بشكل مماثل، فكانت تعتمد عادةً على إضافة مُشغّلات النسخ إلى العقدة الرئيسية، مما يزيد من الحمل.
يتضمن PostgreSQL خاصية النسخ المتزامن المدمجة [ 39 ] التي تضمن، لكل عملية كتابة، انتظار الخادم الرئيسي حتى يقوم خادم النسخ المتماثل بكتابة البيانات في سجل معاملاته . على عكس أنظمة قواعد البيانات الأخرى، يمكن تحديد مدة استمرارية المعاملة (سواء كانت متزامنة أو غير متزامنة) لكل قاعدة بيانات، أو لكل مستخدم، أو لكل جلسة، أو حتى لكل معاملة. قد يكون هذا مفيدًا لأحمال العمل التي لا تتطلب مثل هذه الضمانات، وقد لا يكون مرغوبًا فيه لجميع البيانات لأنه يبطئ الأداء بسبب اشتراط تأكيد وصول المعاملة إلى خادم النسخ الاحتياطي المتزامن.
يمكن أن تكون الخوادم الاحتياطية متزامنة أو غير متزامنة. يمكن تحديد الخوادم الاحتياطية المتزامنة في الإعدادات التي تحدد الخوادم المرشحة للنسخ المتزامن. سيتم استخدام أول خادم في القائمة يقوم بالبث النشط كخادم متزامن حالي. عند تعطل هذا الخادم، ينتقل النظام تلقائيًا إلى الخادم التالي في القائمة.
قد يؤدي تكرار البيانات في PostgreSQL إلى حدوث تعارضات بين الخادم الأساسي والخادم الاحتياطي، خاصةً عند حذف الصفوف قبل الأوان من الخادم الاحتياطي رغم وجود استعلامات جارية للوصول إليها. [ 40 ] ولمعالجة هذه المشكلة، يتضمن PostgreSQL علامة تنبيه [ 41 ] حيث يقوم الخادم الاحتياطي بإبلاغ الخادم الأساسي بشكل استباقي بأي استعلامات جارية للتخفيف من هذا النوع من التعارضات.
لا تتضمن نواة PostgreSQL خاصية النسخ المتزامن متعدد المصادر . يوفر Postgres-XC، المبني على PostgreSQL، خاصية نسخ متزامن متعدد المصادر قابلة للتوسع. [ 42 ] وهو مرخص بموجب نفس ترخيص PostgreSQL. يوجد مشروع ذو صلة يُسمى Postgres-XL . أما Postgres-R فهو نسخة معدلة أخرى . [ 43 ] النسخ ثنائي الاتجاه (BDR) هو نظام نسخ غير متزامن متعدد المصادر لـ PostgreSQL. [ 44 ]
أدوات مثل repmgr تجعل إدارة مجموعات النسخ المتماثل أسهل.
تتوفر العديد من حزم النسخ المتماثل غير المتزامنة القائمة على المشغلات. وتبقى هذه الحزم مفيدة حتى بعد إدخال القدرات الأساسية الموسعة، وذلك في الحالات التي يكون فيها النسخ المتماثل الثنائي لمجموعة قواعد البيانات الكاملة غير مناسب.
- سلوني-1
- Londiste، جزء من SkyTools (التي طورتها Skype )
- النسخ المتعدد الرئيسي لـ Bucardo (الذي طورته Backcountry.com ) [ 45 ]
- نسخ متماثل متعدد المستويات ومتعدد المصادر في SymmetricDS
الفهارس
يدعم PostgreSQL بشكل مدمج فهارس B-tree وجداول التجزئة ، بالإضافة إلى أربع طرق للوصول إلى الفهارس: أشجار البحث المعممة ( GiST )، والفهارس المعكوسة المعممة (GIN)، وGiST المقسمة مكانيًا (SP-GiST) [ 46 ] ، وفهارس نطاق الكتل (BRIN). كما يمكن إنشاء طرق فهرسة مُعرّفة من قِبل المستخدم، على الرغم من أن هذه العملية معقدة نوعًا ما. يدعم PostgreSQL أيضًا الميزات التالية:
- يمكن إنشاء فهارس التعبير باستخدام فهرس نتيجة التعبير أو الدالة، بدلاً من مجرد قيمة العمود.
- يمكن إنشاء الفهارس الجزئية ، التي تفهرس جزءًا فقط من الجدول، بإضافة شرط WHERE إلى نهاية عبارة CREATE INDEX. وهذا يسمح بإنشاء فهرس أصغر.
- يستطيع المخطط استخدام فهارس متعددة معًا لتلبية الاستعلامات المعقدة، باستخدام عمليات فهرسة الخرائط النقطية المؤقتة في الذاكرة (مفيد لتطبيقات مستودع البيانات لربط جدول حقائق كبير بجداول أبعاد أصغر مثل تلك المرتبة في مخطط نجمي ).
- يُتيح فهرسة أقرب الجيران k ( k -NN) (المشار إليها أيضًا باسم KNN-GiST [ 47 ] ) بحثًا فعالًا عن "أقرب القيم" للقيمة المُحددة، وهو أمر مفيد للعثور على كلمات متشابهة، أو كائنات أو مواقع قريبة باستخدام البيانات الجغرافية المكانية . ويتحقق ذلك دون الحاجة إلى مطابقة شاملة للقيم.
- غالباً ما تسمح عمليات المسح التي تعتمد على الفهرس فقط للنظام بجلب البيانات من الفهارس دون الحاجة إلى الوصول إلى الجدول الرئيسي.
- مؤشرات نطاق الكتلة (BRIN).
المخططات
تُعدّ مخططات PostgreSQL مساحات أسماء ، تسمح بوجود كائنات من النوع والاسم نفسهما في قاعدة بيانات واحدة. يجب عدم الخلط بينها وبين مخطط قاعدة البيانات ، وهو المواصفات المجردة والهيكلية والتنظيمية التي تُحدد كيفية ارتباط بيانات كل جدول بالبيانات الموجودة في الجداول الأخرى. جميع كائنات قاعدة بيانات PostgreSQL، باستثناء بعض الكائنات العامة مثل الأدوار ومساحات الجداول ، موجودة ضمن مخطط. لا يمكن تداخل المخططات، ولا يمكن أن يحتوي المخطط على مخططات أخرى. يتحكم نظام الأذونات في الوصول إلى المخططات ومحتواها. افتراضيًا، تحتوي قواعد البيانات المُنشأة حديثًا على مخطط واحد فقط يُسمى " عام"، ولكن يمكن إضافة مخططات أخرى، والمخطط العام ليس إلزاميًا.
يُحدد هذا search_pathالإعداد ترتيب فحص PostgreSQL للمخططات بحثًا عن الكائنات غير المؤهلة (التي لا تحتوي على مخطط مُسبق). ويكون هذا الإعداد مُعيّنًا افتراضيًا على $user, public( $userيشير إلى مستخدم قاعدة البيانات المتصل حاليًا). يمكن ضبط هذا الإعداد الافتراضي على مستوى قاعدة البيانات أو الدور، ولكن نظرًا لكونه مُعامل جلسة، يُمكن تغييره بحرية (حتى عدة مرات) أثناء جلسة العميل، مما يؤثر على تلك الجلسة فقط.
يتم تخطي المخططات غير الموجودة، أو المخططات الأخرى التي لا يمكن الوصول إليها من قبل المستخدم المسجل، والتي يتم سردها في search_path، بصمت أثناء البحث عن الكائنات.
يتم إنشاء الكائنات الجديدة في أي مخطط صالح (مخطط يمكن الوصول إليه) يظهر أولاً في مسار البحث.
أنواع البيانات
يتم دعم مجموعة واسعة من أنواع البيانات الأصلية ، بما في ذلك:
- منطقي
- الأرقام ذات الدقة التعسفية
- حرف (نص، varchar، char)
- ثنائي
- التاريخ/الوقت (الطابع الزمني/الوقت مع/بدون المنطقة الزمنية، التاريخ، الفاصل الزمني)
- مال
- تعداد
- سلاسل البتات
- نوع البحث النصي
- مركب
- HStore، وهو مخزن قيم مفتاحية ممكّن للامتداد داخل PostgreSQL [ 48 ]
- مصفوفات ( ذات أطوال متغيرة ويمكن أن تكون من أي نوع بيانات، بما في ذلك النصوص والأنواع المركبة) يصل حجم تخزينها الإجمالي إلى 1 جيجابايت
- الأشكال الهندسية الأولية
- عناوين IPv4 و IPv6
- كتل التوجيه بين النطاقات بدون فئات (CIDR) وعناوين MAC
- يدعم XML استعلامات XPath
- المعرف الفريد عالميًا (UUID)
- تدوين كائنات جافا سكريبت ( JSON )، و JSONB ثنائي أسرع (ليس هو نفسه BSON [ 49 ] )
بالإضافة إلى ذلك، يمكن للمستخدمين إنشاء أنواع بيانات خاصة بهم، والتي يمكن عادةً جعلها قابلة للفهرسة بالكامل عبر بنى الفهرسة الخاصة بـ PostgreSQL ، مثل GiST وGIN وSP-GiST. ومن أمثلة هذه الأنواع بيانات نظم المعلومات الجغرافية (GIS) من مشروع PostGIS الخاص بـ PostgreSQL.
يوجد أيضًا نوع بيانات يُسمى " النطاق" ، وهو مماثل لأي نوع بيانات آخر، لكن مع قيود اختيارية يُحددها مُنشئ هذا النطاق. هذا يعني أن أي بيانات تُدخل في عمود باستخدام هذا النطاق يجب أن تتوافق مع القيود المُحددة كجزء منه.
يمكن استخدام نوع بيانات يُمثل نطاقًا من البيانات، ويُسمى هذا النوع بأنواع النطاقات. قد تكون هذه النطاقات منفصلة (مثل جميع القيم الصحيحة من 1 إلى 10) أو متصلة (مثل أي وقت بين الساعة 10:00 صباحًا و 11:00 صباحًا ). تشمل أنواع النطاقات المدمجة المتاحة نطاقات الأعداد الصحيحة، والأعداد الصحيحة الكبيرة، والأعداد العشرية، والطوابع الزمنية (مع المنطقة الزمنية وبدونها)، والتواريخ.
يمكن إنشاء أنواع نطاقات مخصصة لتوفير أنواع جديدة من النطاقات، مثل نطاقات عناوين IP باستخدام نوع inet كأساس، أو نطاقات الأعداد العشرية باستخدام نوع بيانات float كأساس. تدعم أنواع النطاقات حدود النطاق الشاملة والحصرية باستخدام الحرفين و []على التوالي. (على سبيل المثال، يمثل جميع الأعداد الصحيحة بدءًا من 4 وحتى 9، باستثناء 4). كما تتوافق أنواع النطاقات مع عوامل التشغيل الحالية المستخدمة للتحقق من التداخل والاحتواء وحق الوصول، وما إلى ذلك.()[4,9)
كائنات معرفة من قبل المستخدم
يمكن إنشاء أنواع جديدة من جميع الكائنات تقريبًا داخل قاعدة البيانات، بما في ذلك:
- طاقم العمل
- التحويلات
- أنواع البيانات
- مجالات البيانات
- الدوال، بما في ذلك الدوال التجميعية ودوال النافذة
- الفهارس، بما في ذلك الفهارس المخصصة للأنواع المخصصة
- المشغلون (يمكن تحميل المشغلين الحاليين فوق طاقتهم )
- اللغات الإجرائية
الميراث
يمكن ضبط الجداول لترث خصائصها من جدول رئيسي . ستظهر البيانات الموجودة في الجداول الفرعية كما لو كانت موجودة في الجداول الرئيسية، إلا إذا تم تحديد البيانات من الجدول الرئيسي باستخدام الكلمة المفتاحية ONLY . إضافة عمود في الجدول الرئيسي ستؤدي إلى ظهور هذا العمود في الجدول الفرعي.SELECT*FROMONLYparent_table;
يمكن استخدام الوراثة لتنفيذ تقسيم الجداول، باستخدام المشغلات أو القواعد لتوجيه عمليات الإدراج إلى الجدول الأصل في الجداول الفرعية المناسبة.
هذه الميزة غير مدعومة بالكامل. على وجه الخصوص، لا يمكن توريث قيود الجداول حاليًا. يتم توريث جميع قيود التحقق وقيود عدم السماح بقيم فارغة في الجدول الأصل تلقائيًا إلى الجداول الفرعية. أما أنواع القيود الأخرى (قيود القيم الفريدة، وقيود المفتاح الأساسي، وقيود المفتاح الخارجي) فلا يتم توريثها.
يوفر التوريث طريقة لربط ميزات التسلسلات الهرمية للتعميم الموضحة في مخططات علاقات الكيانات (ERDs) مباشرة بقاعدة بيانات PostgreSQL.
ميزات تخزين أخرى
- قيود التكامل المرجعي بما في ذلك قيود المفتاح الخارجي ، وقيود الأعمدة ، وفحوصات الصفوف
- تخزين الكائنات الكبيرة الثنائية والنصية
- مساحات الجداول
- التجميع لكل عمود
- النسخ الاحتياطي عبر الإنترنت
- استعادة البيانات في نقطة زمنية محددة، يتم تنفيذها باستخدام تسجيل الكتابة المسبقة
- ترقيات مباشرة باستخدام pg_upgrade لتقليل وقت التوقف
التحكم والاتصال
أغلفة البيانات الأجنبية
يُمكن لـ PostgreSQL الربط بأنظمة أخرى لاسترجاع البيانات عبر أغلفة البيانات الخارجية (FDWs). [ 50 ] ويمكن أن تتخذ هذه الأغلفة أي شكل من أشكال مصادر البيانات، مثل نظام الملفات، أو نظام إدارة قواعد البيانات العلائقية (RDBMS)، أو خدمة ويب. وهذا يعني أن استعلامات قواعد البيانات العادية يُمكنها استخدام مصادر البيانات هذه كجداول عادية، بل ودمج مصادر بيانات متعددة معًا.
واجهات
يدعم PostgreSQL بروتوكول اتصال ثنائي يسمح للتطبيقات بالاتصال بخادم قاعدة البيانات. هذا البروتوكول مُرقّم (حالياً الإصدار 3.0، اعتباراً من PostgreSQL 7.4) وله مواصفات تفصيلية. [ 51 ]
يُعدّ تطبيق العميل الرسمي لبروتوكول الاتصال هذا واجهة برمجة تطبيقات C ، وهي libpq. [ 52 ] بالإضافة إلى ذلك، تسمح أداة ECPG المدعومة رسميًا بتضمين أوامر SQL في كود C. [ 53 ] وكلاهما جزء من توزيعة PostgreSQL القياسية. [ 54 ]
تتوفر مكتبات خارجية للاتصال بـ PostgreSQL للعديد من لغات البرمجة ، بما في ذلك C++ ، [ 55 ] وJava ، [ 56 ] وJulia ، [ 57 ] [ 58 ] [ 59 ] وPython ، [ 60 ] وNode.js ، [ 61 ] وGo ، [ 62 ] و Rust . [ 63 ]
اللغات الإجرائية
تتيح لغات البرمجة الإجرائية للمطورين توسيع قاعدة البيانات باستخدام إجراءات فرعية مخصصة (دوال)، تُعرف غالبًا بالإجراءات المخزنة . يمكن استخدام هذه الدوال لإنشاء مُشغّلات قاعدة البيانات (دوال يتم استدعاؤها عند تعديل بيانات معينة) وأنواع بيانات مخصصة ودوال تجميعية . [ 64 ] كما يمكن استدعاء لغات البرمجة الإجرائية دون تعريف دالة، باستخدام أمر DO على مستوى SQL. [ 65 ]
تنقسم لغات البرمجة إلى مجموعتين: تُكتب الإجراءات بلغات آمنة ، حيث تكون معزولة ويمكن لأي مستخدم إنشاؤها واستخدامها بأمان. أما الإجراءات المكتوبة بلغات غير آمنة ، فلا يمكن إنشاؤها إلا من قِبل المستخدمين ذوي الصلاحيات الكاملة ، لأنها تسمح بتجاوز قيود أمان قاعدة البيانات، ولكنها قد تصل أيضًا إلى مصادر خارجية. بعض اللغات، مثل بيرل، توفر إصدارات آمنة وغير آمنة.
يدعم PostgreSQL بشكل مدمج ثلاث لغات إجرائية:
- SQL البسيط (آمن). يمكن توسيع وظائف SQL الأبسط بشكل مضمن في استعلام SQL المُستدعي، مما يوفر تكلفة استدعاء الوظيفة ويسمح لمُحسِّن الاستعلام "بالرؤية داخل" الوظيفة.
- لغة الإجراءات / PostgreSQL ( PL/pgSQL ) (آمنة)، والتي تشبه لغة الإجراءات الخاصة بـ Oracle ( PL/SQL ) ولغة SQL/Persistent Stored Modules ( SQL/PSM ).
- لغة C (غير آمنة)، والتي تسمح بتحميل مكتبة مشتركة مخصصة واحدة أو أكثر إلى قاعدة البيانات. توفر الدوال المكتوبة بلغة C أفضل أداء، ولكن قد تتسبب الأخطاء البرمجية في حدوث أعطال وربما تلف قاعدة البيانات. معظم الدوال المدمجة مكتوبة بلغة C.
بالإضافة إلى ذلك، يسمح PostgreSQL بتحميل لغات البرمجة الإجرائية إلى قاعدة البيانات عبر الإضافات. تتضمن PostgreSQL ثلاث إضافات لغوية لدعم Perl و Tcl و Python . بالنسبة لـ Python، يُستخدم الإصدار الحالي Python 3 ، بينما توقف دعم Python 2 بدءًا من PostgreSQL 15. كان كلا الإصدارين مدعومين سابقًا، مع استخدام Python 2 افتراضيًا ، ولم يكن بالإمكان استخدام الإصدارات القديمة والجديدة في نفس الجلسة. [ 66 ] توفر مشاريع خارجية دعمًا للعديد من اللغات الأخرى، [ 67 ] بما في ذلك PL/ Java و JavaScript (PL/V8) وPL/ Julia ، [ 59 ] و PL/ R ، [ 68 ] و PL/ Ruby ، وغيرها.
المحفزات
المُشغِّلات هي أحداث تُفعَّل بفعل عبارات لغة معالجة البيانات (DML) في SQL. على سبيل المثال، قد تُفعِّل عبارة INSERT مُشغِّلاً يتحقق من صحة قيم العبارة. في الغالب، لا تُفعَّل المُشغِّلات إلا بواسطة عبارات INSERT أو UPDATE .
يدعم النظام المشغلات بشكل كامل، ويمكن ربطها بالجداول. يمكن أن تكون المشغلات خاصة بكل عمود أو مشروطة، حيث يمكن لمشغلات التحديث استهداف أعمدة محددة في الجدول، ويمكن توجيه المشغلات للتنفيذ وفقًا لمجموعة من الشروط المحددة في عبارة WHERE الخاصة بها. يمكن ربط المشغلات بالعروض باستخدام شرط INSTEAD OF. يتم تشغيل المشغلات المتعددة بالترتيب الأبجدي. بالإضافة إلى استدعاء الدوال المكتوبة بلغة PL/pgSQL الأصلية، يمكن للمشغلات أيضًا استدعاء الدوال المكتوبة بلغات أخرى مثل PL/Python أو PL/Perl.
الإشعارات غير المتزامنة
يوفر PostgreSQL نظام مراسلة غير متزامن يُمكن الوصول إليه عبر أوامر NOTIFY وLISTEN وUNLISTEN. يُمكن لجلسة ما إصدار أمر NOTIFY، مع تحديد القناة من قِبل المستخدم وحمولة اختيارية، لإعلامها بوقوع حدث معين. تستطيع الجلسات الأخرى اكتشاف هذه الأحداث بإصدار أمر LISTEN، الذي يستمع إلى قناة محددة. يُمكن استخدام هذه الوظيفة لأغراض متنوعة، مثل إعلام الجلسات الأخرى بتحديث جدول ما، أو لتمكين تطبيقات منفصلة من اكتشاف تنفيذ إجراء معين. يُغني هذا النظام عن الحاجة إلى الاستقصاء المستمر من قِبل التطبيقات لمعرفة ما إذا كان قد طرأ أي تغيير، ويُقلل من الحمل الزائد غير الضروري. الإشعارات مُرتبطة بالمعاملات بشكل كامل، حيث لا تُرسل الرسائل إلا بعد إتمام المعاملة التي أُرسلت منها. هذا يُزيل مشكلة إرسال رسائل لإجراء تم تنفيذه ثم التراجع عنه.
توفر العديد من الموصلات الخاصة بـ PostgreSQL دعمًا لنظام الإشعارات هذا (بما في ذلك libpq و JDBC و Npgsql و psycopg و node.js) بحيث يمكن استخدامه بواسطة التطبيقات الخارجية.
يمكن لـ PostgreSQL أن يعمل كخادم "نشر/اشتراك" فعال ومستمر أو خادم مهام من خلال الجمع بين LISTEN و FOR UPDATE SKIP LOCKED. [ 69 ] [ 70 ] [ 71 ]
قواعد
تسمح القواعد بإعادة كتابة "شجرة الاستعلام" للاستعلام الوارد؛ وهي لغة ماكرو تُستدعى تلقائيًا للغة SQL. تُربط "قواعد إعادة كتابة الاستعلام" بجدول/فئة، وتقوم بإعادة كتابة أوامر DML الواردة (الاختيار، الإدراج، التحديث، و/أو الحذف) إلى استعلام واحد أو أكثر، إما ليحل محل عبارة DML الأصلية أو ليُنفذ بالإضافة إليها. تتم إعادة كتابة الاستعلام بعد تحليل عبارة DML وقبل تخطيط الاستعلام.
تم تكرار الوظائف التي توفرها القواعد، في جميع جوانبها تقريبًا، لاحقًا مع إدخال أنواع أحدث من المحفزات. يُفضل استخدام المحفزات عادةً على القواعد، لأنه من الأسهل فهم سلوك المحفزات وتفاعلاتها مقارنةً باستخدام القواعد المكافئة.
ميزات استعلام أخرى
- المعاملات
- البحث في النص الكامل
- المشاهدات
- الوصلات الداخلية والخارجية (الكاملة واليسرى واليمنى) والوصلات المتقاطعة
- الاختيارات الفرعية
- الاستعلامات الفرعية المترابطة [ 75 ]
- التعبيرات النمطية [ 76 ]
- تعابير الجداول الشائعة وتعابير الجداول الشائعة القابلة للكتابة
- الاتصالات المشفرة عبر أمان طبقة النقل (TLS)؛ لا تستخدم الإصدارات الحالية بروتوكول SSL المعرض للخطر، حتى مع خيار التكوين هذا [ 77 ]
- النطاقات
- نقاط الحفظ
- الالتزام على مرحلتين
- تُستخدم تقنية تخزين السمات كبيرة الحجم (TOAST) لتخزين سمات الجداول الكبيرة (مثل مرفقات MIME الكبيرة أو رسائل XML) بشكل شفاف في منطقة منفصلة، مع الضغط التلقائي.
- يتم تنفيذ لغة SQL المضمنة باستخدام معالج مسبق. يُكتب كود SQL أولاً مضمناً في كود C. ثم يُمرر الكود عبر المعالج المسبق ECPG، الذي يستبدل SQL باستدعاءات لمكتبة الكود. بعد ذلك، يمكن تجميع الكود باستخدام مُجمِّع C. يعمل التضمين أيضاً مع C++، ولكنه لا يتعرف على جميع بنيات C++.
نموذج التزامن
يعتمد خادم PostgreSQL على العمليات (وليس الخيوط)، ويستخدم عملية نظام تشغيل واحدة لكل جلسة قاعدة بيانات. يقوم نظام التشغيل تلقائيًا بتوزيع الجلسات المتعددة على جميع وحدات المعالجة المركزية المتاحة. كما يمكن تنفيذ أنواع عديدة من الاستعلامات بالتوازي عبر عمليات عاملة متعددة في الخلفية، مستفيدًا من وحدات المعالجة المركزية أو النوى المتعددة. [ 78 ] يمكن لتطبيقات العميل استخدام الخيوط وإنشاء اتصالات متعددة بقاعدة البيانات من كل خيط. [ 79 ]
حماية
يدير PostgreSQL أمانه الداخلي على أساس كل دور . يُعتبر الدور عادةً إما مستخدمًا (دورًا لديه صلاحية تسجيل الدخول) أو مجموعة (دورًا يضم أدوارًا أخرى). يمكن منح الصلاحيات أو سحبها على أي كائن وصولًا إلى مستوى العمود، ويمكن السماح أو منع رؤية/إنشاء/تعديل/حذف الكائنات على مستوى قاعدة البيانات، والمخطط ، والجدول، والصف.
تتيح ميزة SECURITY LABEL في PostgreSQL (امتداد لمعايير SQL) مستوى أمان إضافيًا؛ وذلك من خلال وحدة نمطية مدمجة قابلة للتحميل تدعم التحكم الإلزامي في الوصول (MAC) القائم على التصنيفات، والمستند إلى سياسة أمان SELinux. [ 80 ] [ 81 ]
يدعم PostgreSQL بشكل أصلي عددًا كبيرًا من آليات المصادقة الخارجية، بما في ذلك:
- كلمة المرور: إما SCRAM-SHA-256 أو MD5 ( 82 بت) أو نص عادي
- واجهة برمجة تطبيقات خدمات الأمان العامة (GSSAPI)
- واجهة موفر دعم الأمان (SSPI)
- كيربيروس
- ident (يربط اسم مستخدم نظام التشغيل كما هو مقدم من خادم ident باسم مستخدم قاعدة البيانات)
- نظير (يربط اسم المستخدم المحلي باسم مستخدم قاعدة البيانات)
- بروتوكول الوصول إلى الدليل الخفيف (LDAP)
- الدليل النشط (AD)
- نصف القطر
- شهادة
- وحدة المصادقة القابلة للتوصيل (PAM)
يمكن أيضًا استخدام طرق GSSAPI وSSPI وKerberos وpeer وident وcertificate باستخدام ملف "خريطة" محدد يسرد المستخدمين الذين تمت مطابقتهم بواسطة نظام المصادقة هذا والذين يُسمح لهم بالاتصال كمستخدم قاعدة بيانات معين.
تُحدد هذه الأساليب في ملف تكوين المصادقة المستندة إلى المضيف الخاص بالمجموعة ( pg_hba.conf)، والذي يحدد الاتصالات المسموح بها. يتيح ذلك التحكم في المستخدم الذي يمكنه الاتصال بأي قاعدة بيانات، ومكان الاتصال (عنوان IP، نطاق عناوين IP، مقبس المجال)، ونظام المصادقة الذي سيتم تطبيقه، وما إذا كان الاتصال يتطلب استخدام بروتوكول أمان طبقة النقل (TLS).
الامتثال للمعايير
يدّعي PostgreSQL توافقًا عاليًا، وإن لم يكن تامًا، مع أحدث معايير SQL ("اعتبارًا من الإصدار 17 في سبتمبر 2024، يتوافق PostgreSQL مع 170 ميزة على الأقل من أصل 177 ميزة إلزامية لمعيار SQL:2023 Core، ولم تتوافق أي قواعد بيانات أخرى معه بشكل كامل [ 83 ] ). أحد الاستثناءات هو التعامل مع المعرّفات غير المُقتبسة، مثل أسماء الجداول أو الأعمدة. في PostgreSQL، تُحوّل هذه المعرّفات داخليًا إلى أحرف صغيرة [ 84 ]، بينما ينص المعيار على تحويلها إلى أحرف كبيرة. وبالتالي، Fooفإنّ عدم التوافق مع المعيار يُعدّ مكافئًا FOOلعدم fooالتوافق معه. تشمل أوجه القصور الأخرى غياب الجداول الزمنية التي تسمح بالتسجيل التلقائي لإصدارات الصفوف أثناء المعاملات مع إمكانية استعراضها زمنيًا (باستخدام مُسند FOR SYSTEM TIME)، على الرغم من توفّر إضافات خارجية متوافقة نسبيًا مع SQL. [ 17 ]
المعايير والأداء
أُجريت العديد من الدراسات غير الرسمية حول أداء PostgreSQL. [ 85 ] بدأت التحسينات الكبيرة في الأداء، التي تهدف إلى تعزيز قابلية التوسع، مع الإصدار 8.1. وأظهرت مقارنات معيارية بسيطة بين الإصدارين 8.0 و8.4 أن الإصدار الأخير كان أسرع بأكثر من عشرة أضعاف في مهام القراءة فقط، وأسرع بما لا يقل عن 7.5 أضعاف في مهام القراءة والكتابة معًا. [ 86 ]
أُجري أول اختبار معياري معتمد من قبل النظراء في يونيو 2007، باستخدام خادم تطبيقات نظام جافا من صن (إصدار خاص من GlassFish ) 9.0 Platform Edition، وخادم صن فاير القائم على معالج UltraSPARC T1، وقاعدة بيانات PostgreSQL 8.2. [ 87 ] وتُقارن هذه النتيجة، البالغة 778.14 في اختبار SPECjAppServer2004 JOPS@Standard، بشكل إيجابي مع نتيجة 874 في اختبار JOPS@Standard باستخدام Oracle 10 على نظام HP-UX قائم على معالج Itanium . [ 85 ]
في أغسطس 2007، قدمت شركة صن نتيجةً مُحسّنةً في اختبار الأداء بلغت 813.73 نقطة في اختبار SPECjAppServer2004 JOPS@Standard. ومع انخفاض سعر النظام قيد الاختبار ، تحسّنت نسبة السعر إلى الأداء من 84.98 دولارًا أمريكيًا لكل عملية تشغيل (JOPS) إلى 70.57 دولارًا أمريكيًا لكل عملية تشغيل (JOPS). [ 88 ]
يستخدم التكوين الافتراضي لـ PostgreSQL مقدارًا صغيرًا فقط من الذاكرة المخصصة لأغراض بالغة الأهمية للأداء، مثل تخزين كتل قاعدة البيانات مؤقتًا وفرزها. ويعود هذا القيد أساسًا إلى أن أنظمة التشغيل القديمة كانت تتطلب تعديلات على النواة للسماح بتخصيص كتل كبيرة من الذاكرة المشتركة . [ 89 ] يوفر موقع PostgreSQL.org نصائح حول أفضل الممارسات الأساسية لتحسين الأداء في صفحة ويكي . [ 90 ]
في أبريل 2012، قام روبرت هاس من شركة EnterpriseDB بتوضيح قابلية التوسع الخطي لوحدة المعالجة المركزية في PostgreSQL 9.2 باستخدام خادم يحتوي على 64 نواة. [ 91 ]
أجرى مطلوب خوشي مقارنة معيارية بين PostgreSQL 9.0 وMySQL 5.6.15 من حيث قدرتهما على معالجة البيانات الجينومية. ووجد في تحليله للأداء أن PostgreSQL يستخرج المناطق الجينومية المتداخلة أسرع بثماني مرات من MySQL باستخدام مجموعتي بيانات، كل منهما تضم 80,000 منطقة عشوائية من الحمض النووي البشري. كما كان إدخال البيانات وتحميلها في PostgreSQL أفضل، على الرغم من أن قدرة البحث العامة في كلا القاعدتين كانت متقاربة. [ 92 ]
المنصات
يتوفر PostgreSQL لأنظمة التشغيل التالية: Linux (جميع التوزيعات الحديثة)، و 64 بت ARM و x86-64، وتتوفر مثبتات تم اختبارها لنظام macOS الإصدار 10.14 والإصدارات الأحدث، [ 93 ] Windows (مع توفر مثبتات تم اختبارها لنظام Windows Server 2022 و 2016 64 بت [ 94 ] )، FreeBSD ، OpenBSD ، [ 95 ] NetBSD ، DragonFlyBSD ، وهذه بدون ملفات تنفيذية ثنائية رسمية (على الرغم من أن الملفات غير الرسمية من المحتمل أن تكون متاحة)، Solaris ، [ 96 ] و illumos .
من المتوقع أن يعمل PostgreSQL على أي من بنى مجموعات التعليمات (وأنظمة التشغيل) التالية: x86-64 64 بت و x86 32 بت على نظام التشغيل Windows وأنظمة تشغيل أخرى؛ وهي مدعومة على أنظمة أخرى غير Windows: ARM 64 بت [ 97 ] و ARM 32 بت الأقدم ، بما في ذلك الإصدارات الأقدم مثل ARMv6 في Raspberry Pi [ 98 ] ، و RISC-V ، و z/Architecture ، و S/390 ، و PowerPC (بما في ذلك Power ISA 64 بت )، وSPARC (أيضًا 64 بت)، و MIPS ، و PA-RISC . كما عُرف أنه يعمل على بعض المنصات الأخرى (مع أنه لم يُختبر عليها لسنوات، أي لأحدث الإصدارات). [ 99 ]
إدارة قواعد البيانات
تتضمن واجهات المستخدم الأمامية والأدوات مفتوحة المصدر لإدارة PostgreSQL ما يلي:
| مثال جلسة psql [ 100 ] |
|---|
regression=# select foo ; خطأ: العمود "foo" غير موجود. السياق: دالة PL/pgSQL "test1" أثناء تحويل قيمة الإرجاع إلى نوع إرجاع الدالة. السطر 1: select foo; ^ regression=# \qpeter@localhost testdb=> \a \t \x تنسيق الإخراج مُحاذى. خيار "الصفوف فقط" مُعطّل. خيار "العرض الموسّع" مُفعّل.regression=# select '\x' ; تحذير: استخدام غير قياسي لرمز الهروب في سلسلة نصية حرفية السطر 1: select '\x'; ^ تلميح: استخدم صيغة سلسلة الهروب للهروب، على سبيل المثال، E'\r\n'. ?column? ---------- x (1 row)regression=# select E '\x' ;piro=> \set foo 30; piro=> select * from test where foo <= :foo ; foo | bar -----+----- 10 | 20 | (2 rows)testdb=> \set foo 'my_table' testdb=> SELECT * FROM :"foo" ;testdb=> \set content `cat my_file.txt` testdb=> INSERT INTO my_table VALUES ( :'content' );regression=# select ( regression(# 1 ); ?column? ---------- 1 (1 row)piro=> select ( piro(> ' piro'> ' || $$ piro$> $$ ) piro-> from " piro"> foo" ; خطأ: العلاقة " foo" غير موجودة السطر 5: from " ^testdb=> CREATE TABLE my_table ( first integer not null default 0 , second text ) ; -- نهاية الأمر CREATE TABLE=# SELECT '0x10' :: mpz AS "hex" , '10' :: mpz AS "dec" , -# '010' :: mpz AS oct , '0b10' :: mpz AS bin ; -- مخرجات الجدول hex | dec | oct | bin -----+-----+-----+----- 16 | 10 | 8 | 2 (صف واحد)regression=# select schemaname from pg_tables limit 3 ; -- حقل واحد للإخراج schemaname ------------ pg_catalog pg_catalog pg_catalog (3 صفوف)=# select 10.0 , 1e-6 , 1E+6 ; ?column? | ?column? | ?column? ----------+----------+---------- 10.0 | 0.000001 | 1000000 (صف واحد)regression=# begin ; BEGIN regression=# create table asdf ( foo serial primary key ); ملاحظة: سيؤدي الأمر CREATE TABLE إلى إنشاء تسلسل ضمني "asdf_foo_seq" للعمود التسلسلي "asdf.foo". ملاحظة: سيؤدي الأمر CREATE TABLE / PRIMARY KEY إلى إنشاء فهرس ضمني "asdf_pkey" للجدول "asdf". CREATE TABLE regression=# insert into asdf values ( 10 ) returns foo ; foo ----- 10 (1 row)أدخل 0 1 regression=# ROLLBACK ; ROLLBACK |
- psql
- تُعدّ واجهة سطر الأوامر هي الواجهة الأمامية الرئيسية لـ PostgreSQL ، والتي يمكن استخدامها لإدخال استعلامات SQL مباشرةً، أو تنفيذها من ملف. بالإضافة إلى ذلك، يوفر psql عددًا من الأوامر الوصفية وميزات متنوعة تُشبه ميزات سطر الأوامر لتسهيل كتابة البرامج النصية وأتمتة مجموعة واسعة من المهام؛ على سبيل المثال، إكمال أسماء الكائنات وبنية SQL باستخدام مفتاح Tab.
psql - pgAdmin
- حزمة pgAdmin هي أداة إدارة مجانية ومفتوحة المصدر بواجهة مستخدم رسومية (GUI) لقاعدة بيانات PostgreSQL، وهي مدعومة على العديد من منصات الحوسبة. [ 101 ] يتوفر البرنامج بأكثر من اثنتي عشرة لغة برمجة. كُتب النموذج الأولي الأول، المسمى pgManager، لإصدار PostgreSQL 6.3.2 من عام 1998، ثم أُعيدت كتابته وإصداره باسم pgAdmin بموجب رخصة جنو العمومية (GPL) في الأشهر اللاحقة. أما الإصدار الثاني (المسمى pgAdmin II) فكان إعادة كتابة كاملة، وصدر لأول مرة في 16 يناير 2002. أما الإصدار الثالث، pgAdmin III، فقد صدر في البداية بموجب رخصة Artistic ، ثم صدر بموجب نفس رخصة PostgreSQL. على عكس الإصدارات السابقة المكتوبة بلغة Visual Basic ، كُتب pgAdmin III بلغة C++، باستخدام إطار عمل wxWidgets [ 102 ] مما يسمح بتشغيله على معظم أنظمة التشغيل الشائعة. تتضمن أداة الاستعلام لغة برمجة نصية تُسمى pgScript لدعم مهام الإدارة والتطوير. في ديسمبر 2014، أعلن ديف بيج، مؤسس مشروع pgAdmin ومطوره الرئيسي، [ 103 ] أنه مع التحول نحو النماذج القائمة على الويب، بدأ العمل على pgAdmin 4 بهدف تسهيل عمليات النشر السحابية. [ 104 ] في عام 2016، تم إصدار pgAdmin 4. كُتبت الواجهة الخلفية لـ pgAdmin 4 بلغة بايثون ، باستخدام إطار عمل Flask و Qt . [ 105 ]
- phpPgAdmin
- phpPgAdmin هي أداة إدارة عبر الويب لـ PostgreSQL مكتوبة بلغة PHP ومبنية على واجهة phpMyAdmin الشهيرة التي كُتبت في الأصل لإدارة MySQL . [ 106 ]
- برنامج PostgreSQL Studio
- يُمكّن برنامج PostgreSQL Studio المستخدمين من تنفيذ مهام تطوير قواعد بيانات PostgreSQL الأساسية من خلال واجهة مستخدم عبر الويب. كما يُمكّنهم من العمل مع قواعد البيانات السحابية دون الحاجة إلى فتح جدران الحماية. [ 107 ]
- فريق بوستجريسك
- واجهة ويب تعتمد على تقنية AJAX/JavaScript لقاعدة بيانات PostgreSQL. تتيح استعراض البيانات وكائنات قواعد البيانات وصيانتها وإنشائها عبر متصفح الويب. توفر الواجهة محرر SQL مُبَوَّبًا مع خاصية الإكمال التلقائي، وأدوات تحرير الصفوف، وإمكانية التنقل بين الصفوف والجداول باستخدام المفاتيح الخارجية، وإدارة المفضلة للبرامج النصية الأكثر استخدامًا، بالإضافة إلى ميزات أخرى. تدعم الواجهة بروتوكول SSH للاتصال بقاعدة البيانات وواجهة الويب . تتوفر برامج تثبيت لأنظمة Windows وMacintosh وLinux، بالإضافة إلى أرشيف بسيط متعدد المنصات يعمل من خلال برنامج نصي. [ 108 ]
- ليبر أوفيس، أوبن أوفيس.أورج
- يمكن استخدام LibreOffice و OpenOffice.org Base كواجهة أمامية لـ PostgreSQL. [ 109 ] [ 110 ]
- pgBadger
- يقوم محلل سجلات PostgreSQL pgBadger بإنشاء تقارير مفصلة من ملف سجل PostgreSQL. [ 111 ]
- pgDevOps
- pgDevOps عبارة عن مجموعة من أدوات الويب لتثبيت وإدارة إصدارات متعددة من PostgreSQL، والإضافات، ومكونات المجتمع، وتطوير استعلامات SQL، ومراقبة قواعد البيانات قيد التشغيل، واكتشاف مشاكل الأداء. [ 112 ]
- المسؤول
- Adminer هي أداة إدارة بسيطة قائمة على الويب لـ PostgreSQL وغيرها، مكتوبة بلغة PHP.
- مسند الظهر pgBackRest
- pgBackRest هي أداة نسخ احتياطي واستعادة لـ PostgreSQL توفر دعمًا للنسخ الاحتياطي الكامل والتفاضلي والتزايدي. [ 113 ]
- تدقيق pgaudit
- pgaudit هو امتداد لـ PostgreSQL يوفر تسجيلًا تفصيليًا لجلسات و/أو كائنات التدقيق عبر ميزة التسجيل القياسية التي يوفرها PostgreSQL. [ 114 ]
- وال-إي
- WAL-E هي أداة نسخ احتياطي واستعادة لـ PostgreSQL توفر دعمًا للنسخ الاحتياطية المادية ( القائمة على WAL )، وهي مكتوبة بلغة بايثون. [ 115 ]
- دي بيفر
- DBeaver هي أداة إدارة رسومية مجانية ومفتوحة المصدر لـ PostgreSQL، وتتميز بمخططات الكيانات المرئية وخاصية الإكمال التلقائي . كما أنها متوفرة بترخيص تجاري احترافي.
- بوستغريسوس
- Postgresus هي أداة نسخ احتياطي مفتوحة المصدر بواجهة رسومية لإجراء نسخ احتياطية مجدولة، مع دعم مصادر خارجية (S3، NAS، FTP، Google Drive، Google Cloud، إلخ) وإشعارات إلى خدمات خارجية (Slack، Discord، Telegram، SMTP، إلخ). [ 116 ]
تقدم العديد من الشركات أدوات خاصة بها لـ PostgreSQL. تتكون هذه الأدوات غالبًا من نواة عامة مُكيّفة مع منتجات قواعد بيانات محددة. تشترك هذه الأدوات في معظم ميزات الإدارة مع أدوات المصادر المفتوحة، ولكنها توفر تحسينات في نمذجة البيانات ، والاستيراد، والتصدير، وإعداد التقارير.
مستخدمون بارزون
تشمل المنظمات والمنتجات البارزة التي تستخدم PostgreSQL كقاعدة بيانات أساسية ما يلي:
- تستخدم مايكروسوفت لوحة تحليلات "عرض جودة الإصدار" (RQV) على نطاق البيتابايت، والتي تتعقب جودة تحديثات ويندوز من خلال تحليل 20 ألف نوع من المقاييس من أكثر من 800 مليون جهاز يعمل بنظام ويندوز. [ 117 ]
- في عام 2009، استخدم موقع التواصل الاجتماعي ماي سبيس قاعدة بيانات nCluster التابعة لشركة أستر داتا سيستمز لتخزين البيانات، والتي تم بناؤها على قاعدة بيانات PostgreSQL غير المعدلة. [ 118 ] [ 119 ]
- يستخدم موقع Geni.com قاعدة بيانات PostgreSQL لقاعدة بيانات الأنساب الرئيسية الخاصة به. [ 120 ]
- OpenStreetMap ، مشروع تعاوني لإنشاء خريطة مجانية قابلة للتعديل للعالم. [ 121 ]
- أفيلياس ، سجلات نطاقات لـ .org و .info وغيرها. [ 122 ] [ 123 ]
- ألعاب سوني أونلاين متعددة اللاعبين عبر الإنترنت. [ 124 ]
- BASF ، منصة تسوق لبوابة أعمالها الزراعية. [ 125 ]
- موقع ريديت الإخباري الاجتماعي. [ 126 ]
- تطبيق سكايب للاتصال الصوتي عبر الإنترنت، وقواعد بيانات الأعمال المركزية . [ 127 ]
- Sun xVM ، مجموعة برامج المحاكاة الافتراضية وأتمتة مراكز البيانات من Sun. [ 128 ]
- MusicBrainz ، موسوعة موسيقية مفتوحة على الإنترنت. [ 129 ]
- محطة الفضاء الدولية – لجمع بيانات القياس عن بعد في المدار ونقلها إلى الأرض. [ 130 ]
- موقع MyYearbook للتواصل الاجتماعي. [ 131 ]
- إنستغرام ، خدمة مشاركة الصور عبر الهاتف المحمول. [ 132 ]
- ديسكوس ، خدمة للمناقشة والتعليق عبر الإنترنت. [ 133 ]
- TripAdvisor ، موقع إلكتروني لمعلومات السفر يعتمد في معظمه على محتوى من إنشاء المستخدمين. [ 134 ]
- قامت شركة ياندكس ، وهي شركة إنترنت روسية، بتحويل خدمة البريد الإلكتروني الخاصة بها Yandex.Mail من Oracle إلى Postgres. [ 135 ]
- Amazon Redshift ، وهو جزء من AWS، نظام معالجة تحليلية عمودية عبر الإنترنت (OLAP) يعتمد على تعديلات Postgres الخاصة بـ ParAccel .
- نظام إعداد التنبؤات التفاعلي (IFPS) التابع للإدارة الوطنية للمحيطات والغلاف الجوي (NOAA) وهيئة الأرصاد الجوية الوطنية (NWS)، وهو نظام يدمج البيانات من رادارات الطقس NEXRAD وأنظمة السطح والهيدرولوجيا لبناء نماذج تنبؤ محلية مفصلة. [ 123 ] [ 136 ]
- بدأ مكتب الأرصاد الجوية الوطني في المملكة المتحدة ، المعروف باسم "مكتب الأرصاد الجوية" ، باستبدال نظام أوراكل بنظام بوستجريس إس كيو إل في إطار استراتيجية لنشر المزيد من تقنيات المصادر المفتوحة. [ 136 ] [ 137 ]
- كان موقع WhitePages.com يستخدم Oracle و MySQL ، ولكن عندما حان وقت نقل قواعد بياناته الأساسية إلى داخل الشركة، لجأ إلى PostgreSQL. ولأن WhitePages.com يحتاج إلى دمج مجموعات بيانات ضخمة من مصادر متعددة، فقد كانت قدرة PostgreSQL على تحميل البيانات وفهرستها بمعدلات عالية عاملاً أساسياً في قراره باستخدامها. [ 123 ]
- FlightAware ، وهو موقع إلكتروني لتتبع الرحلات الجوية. [ 138 ]
- Grofers ، خدمة توصيل البقالة عبر الإنترنت. [ 139 ]
- انتقلت صحيفة الغارديان من MongoDB إلى PostgreSQL في عام 2018. [ 140 ]
- تُطبّق YugabyteDB طبقة استعلام PostgreSQL كوضع SQL افتراضي.
- تستخدم OpenAI قاعدة بيانات PostgreSQL كجزء من خدمة واجهة برمجة التطبيقات الأساسية الخاصة بها - بما في ذلك ChatGPT. [ 141 ] [ 142 ]
تنفيذ الخدمات
يقدم بعض البائعين البارزين خدمة PostgreSQL كبرنامج كخدمة :
- تدعم منصة Heroku ، وهي منصة كخدمة ، قاعدة بيانات PostgreSQL منذ انطلاقها عام 2007. [ 143 ] وتقدم Heroku ميزات إضافية قيّمة، مثل استعادة قاعدة البيانات بالكامل (إمكانية استعادة قاعدة البيانات من أي وقت محدد)، [ 144 ] والتي تعتمد على WAL-E، وهو برنامج مفتوح المصدر طورته Heroku. [ 145 ]
- في يناير 2012، أصدرت EnterpriseDB نسخة سحابية من كلٍّ من PostgreSQL وخادمها الخاص Postgres Plus Advanced Server، مع توفير آلي للموارد اللازمة لتجاوز الأعطال، والنسخ المتماثل، وموازنة الأحمال، والتوسع. ويعمل هذا الخادم على خدمات أمازون السحابية (AWS) . [ 146 ] ومنذ عام 2015، يُقدَّم خادم Postgres Advanced Server باسم ApsaraDB لـ PPAS، وهي قاعدة بيانات علائقية كخدمة على Alibaba Cloud. [ 147 ]
- قدمت VMware خدمة vFabric Postgres (المعروفة أيضًا باسم vPostgres [ 148 ] ) للسحابات الخاصة على VMware vSphere منذ مايو 2012. [ 149 ] أعلنت الشركة عن نهاية توفر المنتج في عام 2014. [ 150 ]
- في نوفمبر 2013، أعلنت شركة أمازون لخدمات الويب عن إضافة PostgreSQL إلى عرض خدمة قواعد البيانات العلائقية الخاصة بها . [ 151 ] [ 152 ]
- في نوفمبر 2016، أعلنت شركة أمازون لخدمات الويب عن إضافة توافق PostgreSQL إلى عرض قاعدة البيانات المُدارة Amazon Aurora السحابية الأصلية . [ 153 ]
- في مايو 2017، أعلنت مايكروسوفت أزور عن قواعد بيانات أزور لـ PostgreSQL. [ 154 ]
- في مايو 2019، أعلنت شركة Alibaba Cloud عن PolarDB لـ PostgreSQL. [ 155 ]
- توفر منصة Jelastic Multicloud كخدمة دعمًا لـ PostgreSQL قائمًا على الحاويات منذ عام 2011. كما أنها توفر نسخًا متماثلة غير متزامنة مؤتمتة لـ PostgreSQL بين الخادم الرئيسي والتابع. [ 156 ]
- في يونيو 2019، أعلنت شركة IBM Cloud عن خدمة IBM Cloud Hyper Protect DBaaS لـ PostgreSQL. [ 157 ]
- في سبتمبر 2020، أعلنت شركة Crunchy Data عن Crunchy Bridge. [ 158 ]
- في أكتوبر 2021، قدمت Render الدعم لقواعد بيانات PostgreSQL المُدارة منذ عام 2021. [ 159 ] .
- في يونيو 2022، أعلنت شركة Neon.tech عن Neon Serverless Postgres. [ 160 ]
- في ديسمبر 2022، أعلنت منصة جوجل السحابية عن الإتاحة العامة لخدمة AlloyDB كخدمة سحابية مُدارة بالكامل لقاعدة بيانات PostgreSQL. [ 161 ]
- في أكتوبر 2023، أعلنت شركة نايل عن منصة نايل بوستجريس. [ 162 ]
- في أبريل 2024، أعلنت منصة جوجل السحابية عن الإتاحة العامة لـ AlloyDB Omni، وهي نسخة قابلة للتنزيل من AlloyDB مصممة للعمل على أي بنية تحتية، بما في ذلك البنية التحتية المحلية، والسحابات الأخرى، أو بيئات الحافة. [ 163 ]
- في سبتمبر 2025، أعلنت PlanetScale.com عن الإتاحة العامة لـ PlanetScale for Postgres، وهي نسخة مُدارة وعالية التوفر من Postgres. [ 164 ]
سجل الإصدارات
| يطلق | الإصدار الأول | أحدث إصدار فرعي | أحدث إصدار | نهاية الحياة [ 165 ] | المعالم الرئيسية |
|---|---|---|---|---|---|
| 6.0 | 29 يناير 1997 | غير متوفر | غير متوفر | غير متوفر | أول إصدار رسمي من PostgreSQL، فهارس فريدة، أداة pg_dumpall، مصادقة الهوية |
| 6.1 | 1997-06-08 | غير مدعوم: 6.1.1 | 22-07-1997 | غير متوفر | الفهارس متعددة الأعمدة، والتسلسلات، ونوع بيانات المال، وGEQO (مُحسِّن الاستعلام الجيني) |
| 6.2 | 1997-10-02 | غير مدعوم: 6.2.1 | 17-10-1997 | غير متوفر | واجهة JDBC، والمحفزات، وواجهة برمجة الخادم، والقيود |
| 6.3 | 1998-03-01 | غير مدعوم: 6.3.2 | 1998-04-07 | 2003-03-01 | إمكانية الاستعلام الفرعي في SQL-92، PL/pgTCL |
| 6.4 | 30-10-1998 | غير مدعوم: 6.4.2 | 20 ديسمبر 1998 | 30-10-2003 | طرق العرض (التي كانت للقراءة فقط) والقواعد، PL/pgSQL |
| 6.5 | 9 يونيو 1999 | غير مدعوم: 6.5.3 | 13-10-1999 | 2004-06-09 | MVCC ، الجداول المؤقتة، دعم أكبر لعبارات SQL (CASE، INTERSECT، وEXCEPT) |
| 7.0 | 2000-05-08 | غير مدعوم: 7.0.3 | 11-11-2000 | 2004-05-08 | المفاتيح الخارجية، صيغة SQL-92 لعمليات الربط |
| 7.1 | 13-04-2001 | غير مدعوم: 7.1.3 | 15-08-2001 | 13 أبريل 2006 | سجل الكتابة المسبقة، عمليات الربط الخارجية |
| 7.2 | 2002-02-04 | غير مدعوم: 7.2.8 | 2005-05-09 | 2007-02-04 | PL/Python، لم تعد معرفات الكائنات (OIDs) مطلوبة، تدويل الرسائل |
| 7.3 | 27-11-2002 | غير مدعوم: 7.3.21 | 2008-01-07 | 27-11-2007 | المخطط، دالة الجدول، الاستعلام المُجهز [ 166 ] |
| 7.4 | 17-11-2003 | غير مدعوم: 7.4.30 | 2010-10-04 | 2010-10-01 | تحسين عمليات الربط ووظائف مستودع البيانات [ 167 ] |
| 8.0 | 19-01-2005 | غير مدعوم: 8.0.26 | 2010-10-04 | 2010-10-01 | خادم أصلي على نظام التشغيل مايكروسوفت ويندوز ، نقاط الحفظ ، مساحات الجداول ، استعادة نقطة زمنية محددة [ 168 ] |
| 8.1 | 2005-11-08 | غير مدعوم: 8.1.23 | 2010-12-16 | 2010-11-08 | تحسين الأداء، والالتزام على مرحلتين، وتقسيم الجداول ، ومسح خريطة بتات الفهرس، وقفل الصفوف المشتركة، والأدوار |
| 8.2 | 2006-12-05 | غير مدعوم: 8.2.23 | 2011-12-05 | 2011-12-05 | تحسين الأداء، وبناء الفهرس عبر الإنترنت، والأقفال الاستشارية، والاستعداد الدافئ [ 169 ] |
| 8.3 | 2008-02-04 | غير مدعوم: 8.3.23 | 2013-02-07 | 2013-02-07 | الصفوف التي تحتوي على بيانات مكدسة فقط، البحث في النص الكامل ، [ 170 ] SQL/XML ، أنواع ENUM، أنواع UUID |
| 8.4 | 2009-07-01 | غير مدعوم: 8.4.22 | 2014-07-24 | 2014-07-24 | وظائف النافذة ، أذونات مستوى العمود، استعادة قاعدة البيانات المتوازية، ترتيب قاعدة البيانات، تعبيرات الجدول المشتركة والاستعلامات المتكررة [ 171 ] |
| 9.0 | 2010-09-20 | غير مدعوم: 9.0.23 | 2015-10-08 | 2015-10-08 | النسخ المتماثل المدمج للبث الثنائي ، والوضع الاحتياطي السريع ، وإمكانية الترقية في مكانها، ونظام التشغيل ويندوز 64 بت [ 172 ] |
| 9.1 | 2011-09-12 | غير مدعوم: 9.1.24 | 2016-10-27 | 2016-10-27 | النسخ المتزامن ، والترتيبات لكل عمود ، والجداول غير المسجلة، وعزل اللقطات القابلة للتسلسل ، وتعبيرات الجداول المشتركة القابلة للكتابة، وتكامل SELinux ، والامتدادات، والجداول الخارجية [ 173 ] |
| 9.2 | 2012-09-10 [ 174 ] | غير مدعوم: 9.2.24 | 2017-11-09 | 2017-11-09 | النسخ المتماثل المتدفق المتتالي، عمليات المسح الضوئي للفهرس فقط، دعم JSON الأصلي ، إدارة محسّنة للأقفال، أنواع النطاقات، أداة pg_receivexlog، فهارس GiST مقسمة حسب المساحة |
| 9.3 | 2013-09-09 | غير مدعوم: 9.3.25 | 2018-11-08 | 2018-11-08 | عمال خلفية مخصصون، ومجموعات التحقق من البيانات، وعوامل JSON مخصصة، وربط جانبي، وpg_dump أسرع، وأداة مراقبة خادم pg_isready جديدة، وميزات تشغيل، وميزات عرض، وجداول خارجية قابلة للكتابة، وعروض مُجسّدة ، وتحسينات في النسخ المتماثل |
| 9.4 | 2014-12-18 | غير مدعوم: 9.4.26 | 2020-02-13 | 2020-02-13 | نوع بيانات JSONB، عبارة ALTER SYSTEM لتغيير قيم التكوين، إمكانية تحديث العروض المادية دون حظر عمليات القراءة، التسجيل/البدء/الإيقاف الديناميكي لعمليات العامل في الخلفية، واجهة برمجة تطبيقات فك التشفير المنطقي، تحسينات فهرس GiN، دعم الصفحات الضخمة في Linux، إعادة تحميل ذاكرة التخزين المؤقت لقاعدة البيانات عبر pg_prewarm، إعادة تقديم Hstore كنوع العمود المفضل لبيانات نمط المستند. [ 175 ] |
| 9.5 | 2016-01-07 | غير مدعوم: 9.5.25 | 2021-02-11 | 2021-02-11 | UPSERT، أمان مستوى الصف ، TABLESAMPLE، CUBE/ROLLUP، GROUPING SETS، وفهرس BRIN جديد [ 176 ] |
| 9.6 | 2016-09-29 | غير مدعوم: 9.6.24 | 2021-11-11 | 2021-11-11 | دعم الاستعلامات المتوازية، وتحسينات في غلاف البيانات الخارجية (FDW) لـ PostgreSQL مع دفع الفرز/الضم، ونسخ احتياطية متزامنة متعددة، وتنظيف أسرع للجداول الكبيرة |
| 10 | 2017-10-05 | غير مدعوم: 10.23 | 2022-11-10 | 2022-11-10 | النسخ المنطقي، [ 177 ] تقسيم الجداول التصريحي، تحسين توازي الاستعلام |
| 11 | 2018-10-18 | غير مدعوم: 11.22 | 2023-11-09 | 2023-11-09 | زيادة المتانة والأداء للتقسيم، ودعم المعاملات في الإجراءات المخزنة، وتحسين القدرات على التوازي في الاستعلام، والترجمة الفورية (JIT) للتعبيرات [ 178 ] [ 179 ] |
| 12 | 2019-10-03 | غير مدعوم: 12.22 | 2024-11-21 | 2024-11-21 | تحسينات على أداء الاستعلام واستخدام المساحة؛ دعم تعبيرات مسار SQL/JSON؛ أعمدة مُولَّدة؛ تحسينات على التدويل والمصادقة؛ واجهة تخزين جداول قابلة للتوصيل جديدة. [ 180 ] |
| 13 | 2020-09-24 | غير مدعوم: 13.23 | 2025-11-13 | 2025-11-13 | توفير المساحة وتحسين الأداء من خلال إزالة التكرارات من إدخالات فهرس شجرة B، وتحسين أداء الاستعلامات التي تستخدم التجميعات أو الجداول المقسمة، وتحسين تخطيط الاستعلام عند استخدام الإحصائيات الموسعة، والتنظيف المتوازي للفهارس، والفرز التدريجي [ 181 ] [ 182 ] |
| 14 | 2021-09-30 | الإصدار المدعوم: 14.23 | 2026-05-14 | 2026-11-12 | تمت إضافة عبارات SEARCH و CYCLE القياسية في SQL للتعبيرات الشائعة في الجداول، مما يسمح بإضافة DISTINCT إلى GROUP BY [ 183 ] [ 184 ] |
| 15 | 2022-10-13 | الإصدار المدعوم: 15.18 | 2026-05-14 | 2027-11-11 | ينفذ عبارة MERGE القياسية في لغة SQL . يدعم PL/Python الآن Python 3 الحالي فقط ، plpythonuويعني الآن Python 3 ، وليس Python 2 الذي تم إيقاف دعمه . |
| 16 | 2023-09-14 | الإصدار المدعوم: 16.14 | 2026-05-14 | 2028-11-09 | تحسينات على النسخ المنطقي، عرض pg_stat_io (لمقاييس الإدخال/الإخراج) [ 185 ] |
| 17 | 2024-09-26 | الإصدار المدعوم: 17.10 | 2026-05-14 | 2029-11-08 | تحسينات في أداء عملية التنظيف، وطبقة الإدخال/الإخراج، وتنفيذ الاستعلامات، وتوسيع وظائف JSON، وإضافة المزيد من الميزات لعملية الدمج وتحسين عملية النسخ؛ وتعزيز النسخ المنطقي لضمان التوافر العالي والتحديثات، وتحسينات في الأمان والعمليات والمراقبة والتحليل. [ 186 ] |
| 18 | 2025-09-25 | أحدث إصدار: 18.4 | 2026-05-14 | 2030-11-14 | نظام إدخال/إخراج جديد وتحسينات على الإدخال/الإخراج غير المتزامن. [ 187 ] |
| 19 | — | الإصدار المستقبلي: 19 بيتا 1 | 2026-06-04 | — |

النظام البيئي ومشتقاته
بفضل ترخيصها المفتوح المصدر المتساهل وبنيتها القابلة للتوسيع، نشأت منظومة واسعة النطاق حول PostgreSQL. تشمل هذه المنظومة العديد من الشركات التي تقدم خدمات دعم واستضافة مخصصة، بالإضافة إلى العديد من النسخ المشتقة وقواعد البيانات التي تُكيّف PostgreSQL لتناسب أحمال عمل محددة. ومن أبرز هذه النسخ المشتقة:
- قاعدة بيانات Greenplum : مستودع بيانات للمعالجة المتوازية الضخمة (MPP) يعتمد على إصدار أقدم من PostgreSQL، مصمم للتحليلات واسعة النطاق. [ 188 ]
- TimescaleDB : قاعدة بيانات لسلاسل زمنية يتم تقديمها كامتداد لـ PostgreSQL، وهي مُحسَّنة للتعامل مع الإدخال السريع والاستعلامات المعقدة لبيانات السلاسل الزمنية. [ 189 ]
- أمازون أورورا : قاعدة بيانات علائقية سحابية أصلية تقدمها خدمات أمازون السحابية، وتوفر إصدارًا متوافقًا مع PostgreSQL. [ 190 ]
- نيون: تطبيق مفتوح المصدر وغير خادم لـ PostgreSQL يفصل بين التخزين والحوسبة لتقديم ميزات تطوير حديثة مثل تفرع قاعدة البيانات. [ 191 ]
- AlloyDB: قاعدة بيانات مُدارة بالكامل ومتوافقة مع PostgreSQL على Google Cloud، تفصل بين الحوسبة والتخزين، ومصممة لأحمال العمل الهجينة وقدرات الذكاء الاصطناعي المتكاملة. [ 192 ]
- PlanetScale Postgres: خوادم Postgres مُدارة بالكامل وعالية التوفر تدعم تفرع قواعد البيانات والتحكم في حركة مرور قواعد البيانات. [ 164 ] [ 193 ]
انظر أيضاً
- مقارنة أنظمة إدارة قواعد البيانات العلائقية
- قابلية توسع قاعدة البيانات
- قائمة قواعد البيانات التي تستخدم MVCC
- LLVM (llvmjit هو محرك JIT المستخدم بواسطة PostgreSQL)
مراجع
- ↑ "PostgreSQL" . تم الاطلاع عليه بتاريخ 21 سبتمبر 2019.
PostgreSQL: قاعدة البيانات العلائقية مفتوحة المصدر الأكثر تطوراً في العالم
- 1 2 "ملفات تعريف المساهمين" . مجموعة تطوير PostgreSQL العالمية . تم الاطلاع عليه في 14 مارس 2017 .
- 1 2 "عيد ميلاد سعيد، PostgreSQL!" . مجموعة تطوير PostgreSQL العالمية. 8 يوليو 2008.
- ↑ تم إصدار PostgreSQL 18.4 و 17.10 و 16.14 و 15.18 و 14.23! 14 مايو 2026.
- ↑ "تم إصدار PostgreSQL 19 Beta 2!" . 16 يوليو 2026.
- 1 2 "الترخيص" . مجموعة تطوير PostgreSQL العالمية . تم الاطلاع عليه في 20 سبتمبر 2010 .
- ↑ «رخصة PostgreSQL معتمدة من قبل مبادرة المصادر المفتوحة» . Crynwr. ١٨ فبراير ٢٠١٠. مؤرشف من الأصل في ٨ أغسطس ٢٠١٦. تم الاطلاع عليه في ١٨ فبراير ٢٠١٠ .
- 1 2 "رخصة OSI PostgreSQL" . مبادرة المصادر المفتوحة. 20 فبراير 2010. تم الاطلاع عليه في 20 فبراير 2010 .
- ↑ "ديبيان -- تفاصيل حزمة postgresql في sid" . packages.debian.org . تم الاطلاع عليه في 25 يناير 2021 .
- ↑ "الترخيص: الرئيسي" . مشروع فيدورا .
- ↑ "PostgreSQL" . fsf.org .
- ↑ "أسئلة شائعة: ما هو PostgreSQL؟ كيف يُنطق؟ ما هو Postgres؟" . ويكي PostgreSQL . مجتمع PostgreSQL . تم الاطلاع عليه في 2 أكتوبر 2021 .
- ↑ "عينة صوتية، 5.6 كيلو هرتز MP3" .
- ↑ "ما هو PostgreSQL؟" . وثائق PostgreSQL 9.3.0 . مجموعة تطوير PostgreSQL العالمية . تم الاطلاع عليه بتاريخ 20 سبتمبر 2013 .
- ↑ "باركيه وبوستجريس في بحيرة البيانات | مدونة كرانشي داتا" . كرانشي داتا . 3 مايو 2022. تم الاطلاع عليه في 19 سبتمبر 2024 .
- ↑ "PostGIS" . postgis.net . 18 ديسمبر 2023. تم الاسترجاع في 18 ديسمبر 2023.
يعمل PostGIS على توسيع إمكانيات قاعدة البيانات العلائقية PostgreSQL من خلال إضافة دعم لتخزين البيانات الجغرافية المكانية وفهرستها والاستعلام عنها.
- 1 2 "الامتدادات الزمنية" . ويكي PostgreSQL . 18 ديسمبر 2023. تم الاطلاع عليه في 18 ديسمبر 2023. يمكن توسيع Postgres ليصبح قاعدة بيانات زمنية .
تتتبع هذه القواعد تاريخ محتوى قاعدة البيانات بمرور الوقت، وتحتفظ بهذا التاريخ تلقائيًا، مما يسمح بتعديله والاستعلام عنه.
- ↑ "Orafce - وظائف وحزم التوافق من أوراكل" . GitHub.com . ١٧ ديسمبر ٢٠٢٣. تم الاطلاع عليه في ١٨ ديسمبر ٢٠٢٣.
وظائف ومعاملات تحاكي مجموعة فرعية من الوظائف والحزم من نظام إدارة قواعد البيانات العلائقية أوراكل.
- ↑ "pg_dbms_job" . GitHub.com . 8 نوفمبر 2023. تم الاطلاع عليه في 18 ديسمبر 2023.
إضافة لـ PostgreSQL لجدولة وإدارة المهام في قائمة انتظار مهام مشابهة لحزمة Oracle DBMS_JOB.
- ↑ "WiltonDB" . WiltonDB . 2023. تم الاطلاع عليه بتاريخ 18 ديسمبر 2023. WiltonDB مُصممة لنظام التشغيل Windows .
وهي تسعى لتكون بديلاً سهلاً لـ Microsoft SQL Server.
- ↑ "Babelfish for PostgreSQL" . babelfishpg.org . تم الاطلاع عليه بتاريخ 18 ديسمبر 2023.
يوفر Babelfish for PostgreSQL ... إمكانية فهم PostgreSQL للاستعلامات من التطبيقات المكتوبة لـ Microsoft SQL Server.
- ↑ "عملاء PostgreSQL" . wiki.postgresql.org . ١٨ أكتوبر ٢٠٢٣. تم الاطلاع عليه في ١٨ ديسمبر ٢٠٢٣.
هذه الصفحة عبارة عن قائمة جزئية لعملاء SQL التفاعليين (واجهة رسومية أو غيرها) ... الذين يمكنك كتابة استعلامات SQL فيهم والحصول على نتائج منهم.
- ↑ "أدوات التصميم" . wiki.postgresql.org . ٢٣ أكتوبر ٢٠٢٣. تم الاطلاع عليه في ١٨ ديسمبر ٢٠٢٣.
أدوات تساعد في تصميم مخطط قاعدة البيانات، من خلال إنشاء مخططات علاقات الكيانات وما شابه. معظمها بواجهة رسومية.
- ↑ " دليل مجتمع أدوات واجهة المستخدم الرسومية لـ PostgreSQL" . wiki.postgresql.org . 1 ديسمبر 2023. تم الاطلاع عليه في 18 ديسمبر 2023.
هذه الصفحة عبارة عن قائمة بأدوات مساعدة متنوعة تعمل مع Postgres (مثل: أدوات تحميل البيانات، وأدوات المقارنة، إلخ).
- ↑ "النسخ المتماثل، والتجميع، وتجميع الاتصالات" . wiki.postgresql.org . ١٣ يوليو ٢٠٢٠. تاريخ الاطلاع: ١٨ ديسمبر ٢٠٢٣.
تتوفر العديد من الطرق لتوسيع نطاق PostgreSQL بحيث لا يقتصر تشغيله على خادم واحد. ... لا يوجد حل واحد يناسب الجميع...
- ↑ يُقرّ هذا بالسماح الواسع باستخدام اسم PostgreSQL، وفقًا للموافقة (للاستخدام العادل، شريطة عدم إرباك المستخدمين بشأن العلاقة القانونية مع مشروع PostgreSQL الفعلي) عند استخدامه لدعم PostgreSQL، وذلك وفقًا لسياسة العلامات التجارية لـ PostgreSQL: " سياسة العلامات التجارية" . PostgreSQL.org . 8 ديسمبر 2020. تم الاطلاع عليه في 17 ديسمبر 2023.
سنبذل قصارى جهدنا للتعاون معكم للسماح باستخدامات [اسم PostgreSQL] التي تدعم مشروع PostgreSQL ومجتمعنا.
- 1 2 ستونبريكر، م.؛ رو، ل. أ. (مايو 1986). تصميم بوستغريس (ملف PDF) . وقائع مؤتمر ACM SIGMOD لعام 1986 حول إدارة البيانات. واشنطن العاصمة . تم الاطلاع عليه في 17 ديسمبر 2011 .
- ↑ "PostgreSQL: التاريخ" . مجموعة تطوير PostgreSQL العالمية. مؤرشف من الأصل في 26 مارس 2017. تم الاطلاع عليه في 27 أغسطس 2016 .
- ↑ "اسم المشروع - بيان من الفريق الأساسي" . archives.postgresql.org. 16 نوفمبر 2007. تم الاطلاع عليه في 16 نوفمبر 2007 .
- ↑ " مايكل ستونبريكر - الفائز بجائزة تورينج من الجمعية الأمريكية للحاسبات" . amturing.acm.org . تم الاطلاع عليه في 20 مارس 2018.
تم تطبيق التقنيات الرائدة في Postgres على نطاق واسع [...] ستونبريكر هو الفائز الوحيد بجائزة تورينج الذي انخرط في ريادة الأعمال المتسلسلة على هذا النطاق، مما منحه منظورًا مميزًا للعالم الأكاديمي.
- ↑ ستونبريكر، م.؛ رو، ل. أ. نموذج بيانات بوستجريس (ملف PDF) . وقائع المؤتمر الدولي الثالث عشر حول قواعد البيانات الضخمة جدًا. برايتون، إنجلترا: دار مورغان كوفمان للنشر. الصفحات 83-96 . ISBN 0-934613-46-X.
- ^ بافيل ستيهولي (9 يونيو 2012). "Historie projektu PostgreSQL" (باللغة التشيكية).
- ↑ نبذة تاريخية عن PostgreSQL، وأضاف دعمًا لمديري تخزين متعددين، ومنفذ استعلامات مُحسَّن، ونظام قواعد مُعاد كتابته." postgresql.org . مجموعة تطوير PostgreSQL العالمية ، تم الاطلاع عليه في 18 مارس 2020.
- ↑ "جامعة بوستجريس، الإصدار 4.2" . 26 يوليو 1999.
- ↑ بيج، ديف (7 أبريل 2015). "ردًا على: الذكرى السنوية العشرين لـ PostgreSQL ؟" . قائمة بريدية pgsql-advocacy . تم الاطلاع عليه في 9 أبريل 2015 .
- ↑ مجموعة تطوير PostgreSQL العالمية (25 سبتمبر 2025). "إصدار PostgreSQL 18!" . أخبار PostgreSQL . تم الاطلاع عليه في 6 ديسمبر 2025 .
{{cite web}}له|last=اسم عام ( مساعدة ) - ↑ دان آر كيه بورتس؛ كيفن جريتنر (2012). "عزل اللقطات القابلة للتسلسل في PostgreSQL" (ملف PDF) . وقائع مؤسسة VLDB . 5 (12): 1850-1861 . arXiv : 1208.4179 . Bibcode : 2012arXiv1208.4179P . doi : 10.14778/2367502.2367523 . S2CID 16006111 .
- ↑ بوهان تشانغ؛ آندي بافلو (2023). "الجزء الذي نكرهه أكثر في PostgreSQL" . مدونة OtterTune .
- ↑ PostgreSQL 9.1 مع النسخ المتماثل المتزامن (أخبار)، H Online
- ↑ "26.4. وضع الاستعداد الساخن" . وثائق PostgreSQL . 8 مايو 2025. تم الاطلاع عليه في 22 يوليو 2025 .
- ↑ هود، ستو (30 يونيو 2025). "لقد جعلنا عمليات الكتابة في Postgres أسرع، لكن ذلك أدى إلى تعطيل النسخ المتماثل" . ParadeDB . تم الاسترجاع في 22 يوليو 2025 .
- ↑ صفحة مشروع Postgres-XC (موقع إلكتروني). Postgres-XC. مؤرشفة من الأصل في 1 يوليو 2012.
- ↑ "Postgres-R: نظام نسخ قواعد البيانات لـ PostgreSQL" . مجموعة تطوير Postgres العالمية. مؤرشف من الأصل في 29 مارس 2010. تم الاطلاع عليه في 27 أغسطس 2016 .
- ↑ "Postgres-BDR" . شركة 2ndQuadrant المحدودة . تم الاطلاع عليه بتاريخ 27 أغسطس 2016 .
- ↑ ماريت فيشر (10 نوفمبر/تشرين الثاني 2007). "موقع Backcountry.com يُقدّم أخيرًا شيئًا لمجتمع المصادر المفتوحة" (بيان صحفي). Backcountry.com. مؤرشف من الأصل في 26 ديسمبر/كانون الأول 2010.
- ↑ بارتونوف، أ؛ سيغاييف، ت (مايو 2011). SP-GiST – إطار عمل جديد للفهرسة لـ PostgreSQL (ملف PDF) . مؤتمر PGCon 2011. أوتاوا، كندا . تاريخ الاسترجاع: 31 يناير 2016 .
- ↑ بارتونوف، أ؛ سيجاييف، ت (مايو 2010). بحث أقرب جار K لـ PostgreSQL (ملف PDF) . مؤتمر PGCon 2010. أوتاوا، كندا . تم الاطلاع عليه في 31 يناير 2016 .
- ↑ "PostgreSQL، قاعدة بيانات NoSQL | مجلة لينكس" . www.linuxjournal.com .
- ↑ جيوغيجان، بيتر (23 مارس 2014). "ما رأيي في jsonb" .
- ↑ أوبي، ريجينا؛ هسو، ليو س. (2012). "10: النسخ المتماثل والبيانات الخارجية". PostgreSQL: التشغيل والبدء ( الطبعة الأولى). سيباستوبول، كاليفورنيا: أورايلي ميديا، ص 129. ISBN 978-1-4493-2633-3تم الاطلاع عليه بتاريخ ١٧ أكتوبر ٢٠١٦.
تُعدّ أغلفة البيانات الخارجية (FDW) [...] آليات للاستعلام عن مصادر البيانات الخارجية. وقد قدّمت PostgreSQL 9.1 هذه الميزة المتوافقة مع معايير SQL/MED .
- ↑ "بروتوكول الواجهة الأمامية/الخلفية" . postgresql.org . 9 نوفمبر 2023. تم الاطلاع عليه في 17 ديسمبر 2023.
يصف هذا المستند الإصدار 3.0 من البروتوكول، المُطبق في PostgreSQL 7.4 والإصدارات الأحدث
. - ↑ "libpq" . postgresql.org . 9 نوفمبر 2023. تم الاطلاع عليه في 17 ديسمبر 2023 .
- ↑ "Embedded SQL in C" . postgresql.org . 9 نوفمبر 2023. تم الاطلاع عليه في 17 ديسمبر 2023 .
- ↑ "واجهات العميل" . postgresql.org . 9 نوفمبر 2023. تم الاطلاع عليه في 17 ديسمبر 2023 .
- ↑ "libpqxx" . تم الاطلاع عليه في 4 أبريل 2020 .
- ↑ "برنامج تشغيل JDBC لـ PostgreSQL" . تم الاطلاع عليه في 4 أبريل 2020 .
- ↑ " [ إعلان ] PostgresORM.jl: ربط الكائنات العلائقية بـ PostgreSQL" . JuliaLang . 30 يونيو 2021. تم الاطلاع عليه في 26 أغسطس 2021 .
- ^ "GitHub - invenia/LibPQ.jl: غلاف جوليا لـ libpq" . جيثب . تم الاسترجاع في 26 أغسطس 2021 .
- 1 2 "امتداد PL/Julia (أدنى حد)" . JuliaLang . 8 مارس 2020. تم الاسترجاع في 26 أغسطس 2021 .
- ↑ "PostgreSQL + Python | Psycopg" . initd.org . مؤرشف من الأصل في 1 نوفمبر 2012. تم الاطلاع عليه في 21 يناير 2015 .
- ↑ "node-postgres" . تم الاطلاع عليه بتاريخ 4 أبريل 2020 .
- ↑ "برامج تشغيل قواعد بيانات SQL" . ويكي Go . golang.org . تم الاطلاع عليه في 22 يونيو 2015 .
- ↑ "Rust-Postgres" . تم الاطلاع عليه في 4 أبريل 2020 .
- ↑ "برمجة الخادم" . وثائق PostgreSQL . تم الاطلاع عليه في 19 مايو 2019 .
- ↑ "DO" . وثائق PostgreSQL . تم الاطلاع عليها في 19 مايو 2019 .
- ↑ "PL/Python - لغة بايثون الإجرائية" . وثائق PostgreSQL . تم الاطلاع عليها بتاريخ 23 أكتوبر 2022 .
- ↑ "اللغات الإجرائية" . postgresql.org. 31 مارس 2016. تم الاطلاع عليه في 7 أبريل 2016 .
- ↑ "postgres-plr/plr" . 17 يونيو 2021 – عبر GitHub.
- ↑ شارتر، كولين (8 نوفمبر 2019). "حيلة في تصميم النظام: Postgres خادم نشر/اشتراك وخادم مهام رائع" . مدونة LayerCI . تم الاطلاع عليه في 24 نوفمبر 2019 .
- ↑ "الإصدار 9.5" . postgresql.org . 11 فبراير 2021.
- ↑ رينجر، كريج (13 أبريل 2016). "ما فائدة SKIP LOCKED في PostgreSQL 9.5؟" . الربع الثاني . تم الاطلاع عليه بتاريخ 24 نوفمبر 2019 .
- ↑ "إضافة علاقات عرض مُجسّدة" . 4 مارس 2013. تم الاطلاع عليه في 4 مارس 2013 .
- ↑ "دعم العروض القابلة للتحديث التلقائي" . 8 ديسمبر 2012. تم الاطلاع عليه في 8 ديسمبر 2012 .
- ↑ "إضافة صيغة CREATE RECURSIVE VIEW" . 1 فبراير 2013. تم الاطلاع عليه في 28 فبراير 2013 .
- ↑ مومجيان، بروس (2001). "الاستعلامات الفرعية" . PostgreSQL: مقدمة ومفاهيم . أديسون-ويسلي. ISBN 0-201-70331-9أُرشف من المصدر الأصلي في 9 أغسطس 2010. تم الاطلاع عليه في 25 سبتمبر 2010 .
- ↑ بيرنييه، روبرت (2 فبراير 2006). "استخدام التعابير النمطية في PostgreSQL" . دار نشر أورايلي ميديا . تم الاطلاع عليه في 25 سبتمبر 2010 .
- ↑ "بعض الملاحظات الموجزة حول PostgreSQL و POODLE" . hagander.net .
- ↑ بيركوس، جوش (2 يونيو 2016). "PostgreSQL 9.6 Beta وPGCon 2016" . LWN.net .
- ↑ "الأسئلة الشائعة - ويكي PostgreSQL" . wiki.postgresql.org . تم الاطلاع عليه بتاريخ 13 أبريل 2017 .
- ↑ "وثائق SEPostgreSQL - ويكي PostgreSQL" . wiki.postgresql.org .
- ↑ "NB SQL 9.3 - SELinux Wiki" . selinuxproject.org .
- ↑ "وثائق PostgreSQL 10: الملحق هـ. ملاحظات الإصدار" . 12 أغسطس 2021.
- ↑ "PostgreSQL: حول" . www.postgresql.org . تم الاطلاع عليه بتاريخ 14 أكتوبر 2024 .
- ↑ "حساسية حالة الأحرف في المعرفات" . مجموعة تطوير PostgreSQL العالمية. 11 نوفمبر 2021.
- 1 2 بيركوس، جوش (6 يوليو 2007). "بوستغري إس كيو إل تنشر أول معيار أداء حقيقي" . مؤرشف من الأصل في 12 يوليو 2007. تم الاطلاع عليه في 10 يوليو 2007 .
- ^ فيلموس ، جيورجي (29 سبتمبر 2009). "تاريخ PostgreSQL" . تم الاسترجاع 28 أغسطس، 2010 .
- ↑ "نتيجة SPECjAppServer2004" . SPEC . 6 يوليو 2007. تم الاطلاع عليه في 10 يوليو 2007 .
- ↑ "نتيجة SPECjAppServer2004" . SPEC . 4 يوليو 2007. تم الاطلاع عليه في 1 سبتمبر 2007 .
- ↑ "إدارة موارد النواة" . دليل PostgreSQL . PostgreSQL.org . تم الاطلاع عليه بتاريخ 12 نوفمبر 2011 .
- ↑ جريج سميث (15 أكتوبر 2010). PostgreSQL 9.0 عالي الأداء . دار نشر Packt . رقم ISBN 978-1-84951-030-1.
- ↑ روبرت هاس (3 أبريل 2012). "هل قلت 32 نواة؟ ماذا عن 64؟" . تم الاطلاع عليه في 8 أبريل 2012 .
- ↑ خوشي، مطلوب (يونيو 2015). "تقييم أداء قواعد البيانات للبيانات الجينومية". مجلة الكيمياء الحيوية الخلوية . 116 (6): 877-883 . arXiv : 2008.06835 . doi : 10.1002/jcb.25049 . PMID 25560631. S2CID 27458866 .
- ↑ "حزم نظام التشغيل ماك أو إس إكس" . مجموعة تطوير PostgreSQL العالمية . تم الاطلاع عليه بتاريخ 27 أغسطس 2016 .
- ↑ "PostgreSQL: مثبتات ويندوز" . www.postgresql.org . تم الاطلاع عليه بتاريخ 26 أغسطس 2021 .
- ↑ "postgresql-client-10.5p1 – PostgreSQL RDBMS (عميل)" . منافذ OpenBSD . 4 أكتوبر 2018. تم الاطلاع عليه في 10 أكتوبر 2018 .
- ↑ "تثبيت وتكوين PostgreSQL - دليل خدمة بيانات Oracle Solaris Cluster لـ PostgreSQL" . docs.oracle.com . تم الاطلاع عليه في 4 فبراير 2023 .
- ↑ "AArch64 تخطط لعقد جلسة نقاش مفتوحة في مؤتمر DebConf" . debian.org .
- ↑ سوزا، روبنز (17 يونيو 2015). "الخطوة 5 (تحديث): تثبيت PostgreSQL على جهازي Raspberry Pi 1 و2" . Raspberry PG . مؤرشف من الأصل في 20 سبتمبر 2016. تم الاطلاع عليه في 27 أغسطس 2016 .
- ↑ "المنصات المدعومة" . مجموعة تطوير PostgreSQL العالمية . تم الاطلاع عليه في 6 أبريل 2012 .
- ↑ "المحللات اللغوية المتاحة - Pygments" .
- ↑ "pgAdmin: أدوات إدارة قواعد بيانات PostgreSQL" . موقع إلكتروني . تم الاطلاع عليه بتاريخ 12 نوفمبر 2011 .
- ↑ "ديبيان -- تفاصيل حزمة pgadmin3 في جيسي" . تم الاطلاع عليه بتاريخ 10 مارس 2017 .
- ↑ "فريق تطوير pgAdmin" . pgadmin.org . تم الاطلاع عليه بتاريخ 22 يونيو 2015 .
- ↑ ديف، بيج (7 ديسمبر 2014). "قصة pgAdmin" . مدونة ديف لـ Postgres . pgsnake.blogspot.co.uk . تاريخ الاسترجاع: 7 ديسمبر 2014 .
- ↑ "pgAdmin 4 README" . GitHub . تم الاطلاع عليه بتاريخ 15 أغسطس 2018 .
- ↑ مشروع phpPgAdmin (25 أبريل 2008). "حول phpPgAdmin" . تم الاطلاع عليه بتاريخ 25 أبريل 2008 .
- ↑ PostgreSQL Studio (9 أكتوبر 2013). "حول PostgreSQL Studio" . مؤرشف من الأصل في 7 أكتوبر 2013. تم الاطلاع عليه في 9 أكتوبر 2013 .
- ↑ "موقع TeamPostgreSQL الإلكتروني" . 3 أكتوبر 2013. تم الاطلاع عليه في 3 أكتوبر 2013 .
- ↑ oooforum.org (10 يناير 2010). "الواجهات الخلفية لبرنامج أوبن أوفيس" . مؤرشف من الأصل في 28 سبتمبر 2011. تم الاطلاع عليه في 5 يناير 2011 .
- ↑ libreoffice.org (14 أكتوبر 2012). "الميزات الأساسية" . مؤرشف من الأصل في 7 يناير 2012. تم الاطلاع عليه في 14 أكتوبر 2012 .
- ↑ غريغ سميث؛ روبرت تريت وكريستوفر براون. "ضبط خادم PostgreSQL الخاص بك" . ويكي . PostgreSQL.org . تم الاطلاع عليه بتاريخ 12 نوفمبر 2011 .
- ↑ "pgDevOps" . BigSQL.org . مؤرشف من الأصل في 1 أبريل 2017. تم الاطلاع عليه في 4 مايو 2017 .
- ↑ "pgbackrest/pgbackrest" . GitHub . 21 نوفمبر 2021.
- ↑ "pgaudit/pgaudit" . GitHub . 21 نوفمبر 2021.
- ^ "وال-إي/وال-إي" . 24 يونيو 2021 – عبر جيثب.
- ↑ دوغين، روستيسلاف (28 نوفمبر 2025)، RostislavDugin/postgresus ، تم الاطلاع عليه في 28 نوفمبر 2025
- ↑ كلير جيوردانو (31 أكتوبر 2019). "تصميم بنية تحليلات على نطاق البيتابايت من خلال توسيع نطاق Postgres على Azure باستخدام ملحق Citus" . مدونة . مجتمع مايكروسوفت التقني.
- ↑ إيمانويل سيتشيت (21 مايو 2009). بناء مستودعات بيانات بحجم بيتابايت باستخدام PostgreSQL غير المعدل (ملف PDF) . مؤتمر PGCon 2009. تم الاطلاع عليه بتاريخ 12 نوفمبر 2011 .
- ↑ "موقع MySpace.com يُوسّع نطاق تحليلاته لجميع أصدقائه" (ملف PDF) . دراسة حالة. أستر داتا. 15 يونيو 2010. مؤرشف (ملف PDF) من الأصل في 14 نوفمبر 2010. تم الاطلاع عليه في 12 نوفمبر 2011 .
- ↑ "انقطاع التيار الكهربائي في نهاية الأسبوع الماضي" . مدونة . جيني. 1 أغسطس 2011.
- ↑ "قاعدة البيانات" . ويكي . خريطة الشوارع المفتوحة.
- ↑ نطاق .ORG التابع لـ PostgreSQL ، أستراليا: عالم الكمبيوتر، 24 أغسطس 2023
- 1 2 3 دبليو. جيسون جيلمور؛ آر إتش تريت (2006). مقدمة في PHP و PostgreSQL 8: من المبتدئ إلى المحترف . أبريس. ISBN 978-1-43020-136-6تم الاطلاع عليه بتاريخ 30 أغسطس 2017 .
- ↑ سوني أونلاين تختار قاعدة بيانات مفتوحة المصدر بدلاً من أوراكل ، مجلة كمبيوتر وورلد
- ↑ "دراسة حالة لمجموعة التجارة الإلكترونية حول PostgreSQL" (ملف PDF) (الإصدار 1.2 ). PostgreSQL.
- ↑ "نظرة عامة على البنية" . ويكي برامج ريديت . ريديت. 27 مارس 2014. تم الاطلاع عليه في 25 نوفمبر 2014 .
- ↑ بيهلاك، مارتن. "PostgreSQL @Skype" (PDF) . wiki.postgresql.org . تم الاسترجاع في 16 يناير 2019 .
- ↑ "كم تدفع مقابل قاعدة بياناتك؟" . مدونة صن مايكروسيستمز. 2007. مؤرشف من الأصل في 7 مارس 2009. تم الاطلاع عليه في 14 ديسمبر 2007 .
- ↑ "قاعدة البيانات – MusicBrainz" . ويكي MusicBrainz . تم الاطلاع عليه في 5 فبراير 2011 .
- ↑ دانكافاج، دانيال ب (13 يوليو 2010). "وكالة ناسا بحاجة إلى مساعدة Postgres-Nagios" .
- ↑ روي، جافين م (2010). "PostgreSQL في myYearbook.com" (محاضرة). شرق الولايات المتحدة الأمريكية: مؤتمر PostgreSQL. مؤرشف من الأصل في 27 يوليو 2011.
- ↑ "مواكبة إنستغرام لأكثر من مليون مستخدم جديد في اثنتي عشرة ساعة" . Instagram-engineering.tumblr.com. ١٧ مايو ٢٠١١. تم الاطلاع عليه في ٧ يوليو ٢٠١٢ .
- ↑ "Postgres at Disqus" . تم الاطلاع عليه بتاريخ 24 مايو 2013 .
- ↑ كيلي، ماثيو (27 مارس 2015). في قلب عملاق: بوستغريس في تريب أدفايزر . مؤتمر PGConf US 2015. مؤرشف من الأصل في 23 يوليو 2015. تم الاطلاع عليه في 23 يوليو 2015 .( فيديو العرض التقديمي )
- ↑ "نجاح عملية نقل Yandex.Mail من Oracle إلى Postgres [ ملف PDF ] " . Hacker News: news.ycombinator.com . تاريخ الاطلاع: 28 سبتمبر 2016 .
- 1 2 س. ريجز؛ جي سيولي؛ هـ. كروسينج؛ ج. بارتوليني (2015). كتاب الطبخ الإداري PostgreSQL 9 - الإصدار الثاني حزمة. رقم ISBN 978-1-84951-906-9تم الاطلاع عليه بتاريخ 5 سبتمبر 2017 .
- ↑ "مكتب الأرصاد الجوية يستبدل أوراكل بـ PostgreSQL" . computerweekly.com . 17 يونيو 2014. تم الاطلاع عليه في 5 سبتمبر 2017 .
- ↑ "البرمجيات مفتوحة المصدر" . فلايت أوير . تم الاطلاع عليه بتاريخ 22 نوفمبر 2017 .
- ↑ "Ansible في Grofers (الجزء 2) - إدارة PostgreSQL" . مدونة Lambda - مدونة Grofers الهندسية . 28 فبراير 2017. تم الاطلاع عليه في 5 سبتمبر 2018 .
- ↑ ماكماهون، فيليب؛ تشيوريان، ماريا ليفيا؛ كولمان، سوزي؛ أسكولوم، أكاش (30 نوفمبر 2018). "المدونة الرقمية: وداعًا مونغو، مرحبًا بوستغريس" . صحيفة الغارديان . ISSN 0261-3077 .
- ↑ "أخطاء مرتفعة في واجهة برمجة التطبيقات وChatGPT" . 21 نوفمبر 2023. تم الاطلاع عليه في 2 ديسمبر 2023 .
- ↑ "مؤتمر مايكروسوفت للأرباح للربع الثالث من السنة المالية 2025" . 5 مايو 2025.
- ↑ أليكس ويليامز (1 أبريل 2013). "هيروكو تجبر عميلاً على الترقية لإصلاح ثغرة أمنية خطيرة في PostgreSQL" . TechCrunch .
- ↑ بارب دارو (11 نوفمبر 2013). "هيروكو تُحسّن Postgres بخاصية استعادة قاعدة البيانات والتنبيهات الاستباقية" . GigaOM. مؤرشف من الأصل في 12 نوفمبر 2013.
- ↑ كريج كيرستينز (26 سبتمبر 2013). "WAL-E والحماية المستمرة مع Heroku Postgres" . مدونة Heroku.
- ↑ "EnterpriseDB تُقدّم قاعدة بيانات Postgres Plus السحابية" . Techweekeurope.co.uk. 27 يناير 2012. مؤرشف من الأصل في 30 يناير 2012. تم الاطلاع عليه في 7 يوليو 2012 .
- ↑ "علي بابا كلاود توسع شراكتها التقنية مع EnterpriseDB" . مايلستون بارتنرز . 26 سبتمبر 2018. تم الاطلاع عليه في 9 يونيو 2020 .
- ↑ أودوهيرتي، بول؛ أسيلين، ستيفان (2014). "3: بنية مساحة عمل VMware". مجموعة VMware Horizon: بناء خدمات المستخدم النهائي . VMware Press Technology. أبر سادل ريفر، نيوجيرسي: VMware Press. ص 65. ISBN 978-0-13-347910-2تم الاطلاع عليه بتاريخ 19 سبتمبر 2016. بالإضافة إلى النسخة مفتوحة المصدر من PostgreSQL، تُقدم VMware برنامج
vFabric Postgres، أو vPostgres. يُعد vPostgres جهازًا افتراضيًا لـ PostgreSQL مُصممًا خصيصًا للبيئات الافتراضية.
- ↑ آل سارجنت (15 مايو 2012). "تقديم VMware vFabric Suite 5.1: النشر الآلي، والمكونات الجديدة، ودعم المصادر المفتوحة" . مدونات VMware.
- ↑ "VMware vFabric Suite EOA" (ملف PDF) . 1 سبتمبر 2014. تم الاطلاع عليه في 17 ديسمبر 2023 .
- ↑ جيف (14 نوفمبر 2013). "خدمة Amazon RDS لـ PostgreSQL - متوفرة الآن" . مدونة خدمات أمازون السحابية.
- ↑ أليكس ويليامز (14 نوفمبر 2013). "PostgreSQL متوفر الآن على خدمة قواعد البيانات العلائقية من أمازون" . TechCrunch .
- ↑ "تحديث أمازون أورورا - توافق PostgreSQL" . مدونة AWS . 30 نوفمبر 2016. تم الاطلاع عليه في 1 ديسمبر 2016 .
- ↑ "الإعلان عن قاعدة بيانات Azure لـ PostgreSQL" . مدونة Azure . 10 مايو 2017. تم الاطلاع عليه في 19 يونيو 2019 .
- ↑ «أصدرت شركة Aliyun PolarDB تحديثات رئيسية لدعم نقل قواعد البيانات، مثل Oracle، إلى السحابة بنقرة واحدة» . ورقة بحثية من Develop ، 6 يوليو 2019.
- ↑ "النسخ المتماثل غير المتزامن لقواعد بيانات PostgreSQL الرئيسية والتابعة بنقرة واحدة" . DZone . تم الاطلاع عليه بتاريخ 26 مايو 2017 .
- ↑ "وثائق IBM Cloud Hyper Protect DBaaS لـ PostgreSQL" . cloud.ibm.com . تم الاطلاع عليه بتاريخ 24 يونيو 2020 .
- ↑ "تواصل Crunchy Data دعم PostgreSQL مع إصدار Crunchy Bridge" . 18 سبتمبر 2020.
- ↑ "ما الجديد في PostgreSQL 14؟" . render.com . تم الاطلاع عليه بتاريخ 26 مايو 2026 .
- ↑ "SELECT 'Hello, World' Serverless Postgres built for the cloud" . 15 يونيو 2022.
- ↑ "AlloyDB لقاعدة بيانات PostgreSQL السحابية السريعة عالية التوافر - مدونة Google Cloud" . 6 مارس 2025.
- ↑ "تقديم نايل، قاعدة بيانات Postgres بدون خادم لبرمجيات SaaS الحديثة" . 25 أكتوبر 2023.
- ↑ "الإعلان عن الإتاحة العامة لخدمة AlloyDB Omni" . مدونة جوجل كلاود . 10 أبريل 2024.
- 1 2 "أصبح PlanetScale for Postgres متاحًا الآن بشكل عام — PlanetScale" . planetscale.com . 22 سبتمبر 2025. تم الاطلاع عليه في 28 أبريل 2026 .
- ↑ "سياسة التحكم في الإصدارات" . مجموعة تطوير PostgreSQL العالمية . تم الاطلاع عليه في 4 أكتوبر 2018 .
- ↑ فاس، ليزا (2 ديسمبر 2002). "قواعد البيانات تستهدف المؤسسات" . إي ويك . تم الاطلاع عليه في 29 أكتوبر 2016 .
- ↑ كريل، بول (20 نوفمبر 2003). "بوستجريس كيو إل يعزز قواعد البيانات مفتوحة المصدر" . إنفوورلد . تم الاطلاع عليه في 21 أكتوبر 2016 .
- ↑ كريل، بول (19 يناير 2005). "قاعدة بيانات PostgreSQL مفتوحة المصدر تتميز بتحسينات على نظام ويندوز" . إنفوورلد . تم الاطلاع عليه في 2 نوفمبر 2016 .
- ↑ وايس، تود ر. (5 ديسمبر 2006). "إصدار النسخة 8.2 من قاعدة بيانات PostgreSQL مفتوحة المصدر" . مجلة Computerworld . تم الاطلاع عليه في 17 أكتوبر 2016 .
- ↑ جيلبرتسون، سكوت (5 فبراير 2008). "PostgreSQL 8.3: قاعدة بيانات مفتوحة المصدر تعد بسرعة فائقة" . مجلة وايرد . تم الاطلاع عليه في 17 أكتوبر 2016 .
- ↑ هوبر، ماتياس (2 يوليو 2009). "PostgreSQL 8.4 يثبت غناه بالميزات" . مجلة لينكس . تم الاطلاع عليه في 17 أكتوبر 2016 .
- ↑ بروكماير، جو (30 سبتمبر 2010). "خمس ميزات للمؤسسات في PostgreSQL 9" . Linux.com . مؤسسة لينكس . تم الاطلاع عليه في 6 فبراير 2017 .
- ↑ تيموثي بريكيت مورغان (12 سبتمبر 2011). "تحديث PostgreSQL إلى الإصدار 9.1، ويستهدف المؤسسات" . ذا ريجستر . تم الاطلاع عليه في 6 فبراير 2017 .
- ↑ "PostgreSQL: تم إصدار PostgreSQL 9.2" . www.postgresql.org . 10 سبتمبر 2012.
- ↑ "إعادة تقديم Hstore لـ PostgreSQL" . InfoQ .
- ↑ ريتشارد، تشيرجوين (7 يناير 2016). "قل عفوًا، أصلح رأسك: لقد وصل الإصدار 9.5 من PostgreSQL" . ذا ريجستر . تم الاسترجاع في 17 أكتوبر 2016 .
- ↑ "PostgreSQL: التوثيق: 10: الفصل 31. النسخ المنطقي" . www.postgresql.org . 12 أغسطس 2021.
- ↑ "إصدار PostgreSQL 11" . 18 أكتوبر 2018. تم الاطلاع عليه بتاريخ 18 أكتوبر 2018 .
- ↑ "ملاحظات إصدار PostgreSQL" . تم الاطلاع عليها في 18 أكتوبر 2018 .
- ↑ "PostgreSQL: تم إصدار PostgreSQL 12!" . أخبار PostgreSQL . 3 أكتوبر 2019.
- ↑ "ملاحظات إصدار PostgreSQL 13" . www.postgresql.org . 12 أغسطس 2021.
- ↑ "تم إصدار PostgreSQL 13!" . www.postgresql.org . 24 سبتمبر 2020.
- ↑ "ملاحظات إصدار PostgreSQL 14" . www.postgresql.org . 11 نوفمبر 2021.
- ↑ "تم إصدار PostgreSQL 14!" . www.postgresql.org . 30 سبتمبر 2021.
- ↑ "تم إصدار PostgreSQL 16!" . 14 سبتمبر 2023.
- ↑ "تم إصدار PostgreSQL 17!" . 26 سبتمبر 2024.
- ↑ "تم إصدار PostgreSQL 18!" . 25 سبتمبر 2025.
- ↑ "وثائق قاعدة بيانات غرينبلوم" . docs.greenplum.org . تم الاطلاع عليه بتاريخ 10 أغسطس 2025 .
- ↑ "حول Timescale" . Timescale . تم الاسترجاع في 10 أغسطس 2025.
يتم تنفيذ TimescaleDB كامتداد على PostgreSQL، مما يعني أنه يعمل داخل مثيل PostgreSQL ويمكنك التفاعل معه بنفس الطريقة التي تتفاعل بها مع PostgreSQL.
- ↑ "Amazon Aurora مع توافق PostgreSQL" . Amazon Web Services, Inc. تم الاطلاع عليه في 10 أغسطس 2025 .
- ↑ "ما هو نيون؟" . نيون . تم الاطلاع عليه بتاريخ 10 أغسطس 2025. نيون عبارة عن خادم PostgreSQL مُدار بالكامل بدون خادم .
يفصل بين التخزين والحوسبة، ويستبدل طبقة تخزين PostgreSQL بمحرك تخزين متعدد المستأجرين مصمم خصيصًا للحوسبة السحابية.
- ↑ "نظرة عامة على AlloyDB" . جوجل كلاود . تم الاطلاع عليه في 10 أغسطس 2025.
AlloyDB لـ PostgreSQL هي خدمة قواعد بيانات مُدارة بالكامل ومتوافقة مع PostgreSQL، مصممة لتلبية متطلبات أحمال العمل الأكثر تطلبًا، بما في ذلك المعالجة الهجينة للمعاملات والتحليلات... تعتمد AlloyDB على بنية مُجزأة. طبقات الحوسبة والتخزين منفصلة وتوفر قابلية توسع فردية.
- ↑ "تقديم نظام التحكم في حركة مرور قواعد البيانات - بلانيت سكيل" . planetscale.com . 23 مارس 2026. تم الاطلاع عليه في 28 أبريل 2026 .
للمزيد من القراءة
- أوبي، ريجينا؛ هسو، ليو (8 يوليو 2012). PostgreSQL: التشغيل والبدء . أورايلي . ISBN 978-1-4493-2633-3.
- كروسينغ، هانو؛ رويبال، كيرك (15 يونيو 2013). برمجة خادم PostgreSQL (الطبعة الثانية ). دار نشر Packt . رقم ISBN 978-1-84951-698-3.
- ريغز، سيمون؛ كروسينغ، هانو (27 أكتوبر 2010). كتاب طبخ إدارة PostgreSQL 9 ( الطبعة الثانية). دار نشر Packt . رقم ISBN 978-1-84951-028-8.
- سميث، جريج (15 أكتوبر 2010). PostgreSQL 9 عالي الأداء . دار نشر Packt . رقم ISBN 978-1-84951-030-1.
- جيلمور، دبليو. جيسون؛ تريت، روبرت (27 فبراير 2006). مقدمة في PHP و PostgreSQL 8: من المبتدئ إلى المحترف . Apress . ص 896. ISBN 1-59059-547-5أُرشف من الأصل في 8 يوليو 2009. تم الاطلاع عليه في 28 أبريل 2009 .
- دوغلاس، كوري (5 أغسطس 2005). PostgreSQL ( الطبعة الثانية). سامز . ص 1032. ISBN 0-672-32756-2.
- ماثيو، نيل؛ ستونز، ريتشارد (6 أبريل 2005). مقدمة في قواعد البيانات باستخدام PostgreSQL ( الطبعة الثانية). Apress . ص 664. ISBN 1-59059-478-9أُرشف من المصدر الأصلي في 9 أبريل 2009. تم الاطلاع عليه في 28 أبريل 2009 .
- وورسلي، جون سي؛ دريك، جوشوا دي. (يناير 2002). PostgreSQL العملي . دار نشر أورايلي ميديا . 636 صفحة . ISBN 1-56592-846-6.
روابط خارجية
- الموقع الرسمي ،والويكي

- كتالوج برامج للمشاريع والمنتجات ذات الصلة
- مستودع الشفرة المصدرية الرئيسي الرسمي (للتصفح) ، والأسئلة الشائعة للمطورين
- المرجع الرسمي لمؤلفي وثائق PostgreSQL
- جميع مستودعات شفرة المصدر الرسمية لـ PostgreSQL
- PostgreSQL على GitHub
- PostgreSQL
- برنامج عام 1996
- أنظمة إدارة قواعد البيانات من نوع العميل والخادم
- برامج متعددة المنصات
- أنظمة إدارة قواعد البيانات المجانية
- برنامج مجاني مكتوب بلغة C
- برنامج إدارة قواعد البيانات العلائقية لنظام التشغيل لينكس
- برنامج إدارة قواعد البيانات العلائقية لنظام لينكس
- برنامج يستخدم ميسون
- قواعد بيانات المتجهات
