ملحقات PostgreSQL في قاعدة بيانات Azure ل PostgreSQL - خادم مرن

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

كيفية استخدام ملحقات PostgreSQL

قبل أن تتمكن من تثبيت الملحقات في قاعدة بيانات Azure ل PostgreSQL - الخادم المرن، ستحتاج إلى السماح بإدراج هذه الملحقات للاستخدام.

باستخدام مدخل Azure:

  1. حدد قاعدة بيانات Azure الخاصة بك ل PostgreSQL - خادم مرن.
  2. على الشريط الجانبي، حدد معلمات الخادم.
  3. ابحث عن المعلمة azure.extensions .
  4. حدد الإضافات التي ترغب في إدراجها في القائمة المسموح بها.  Screenshot showing Azure Database for PostgreSQL - allow-listing extensions for installation

باستخدام Azure CLI:

يمكنك السماح بملحقات القائمة عبر أمر تعيين معلمة CLI.

az postgres flexible-server parameter set --resource-group <your resource group>  --server-name <your server name> --subscription <your subscription id> --name azure.extensions --value <extension name>,<extension name>

استخدام قالب ARM: مثال أدناه قوائم السماح ملحقات dblink ، dict_xsyn ، pg_buffercache على الخادم mypostgreserver

{

    "$schema": https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#,

    "contentVersion": "1.0.0.0",

    "parameters": {

        "flexibleServers_name": {

            "defaultValue": "mypostgreserver",

            "type": "String"

        },

        "azure_extensions_set_value": {

            "defaultValue": " dblink,dict_xsyn,pg_buffercache",

            "type": "String"

        }

    },

    "variables": {},

    "resources": [

        {

            "type": "Microsoft.DBforPostgreSQL/flexibleServers/configurations",

            "apiVersion": "2021-06-01",

            "name": "[concat(parameters('flexibleServers_name'), '/azure.extensions')]",

            "properties": {

                "value": "[parameters('azure_extensions_set_value')]",

                "source": "user-override"

            }

        }

    ]

}


Shared_Preload_Libraries معلمة تكوين خادم تحدد المكتبات التي سيتم تحميلها عند بدء تشغيل PostgreSQL. يجب تحميل أي مكتبات تستخدم الذاكرة المشتركة عبر هذه المعلمة. إذا كانت هناك حاجة إلى إضافة الإضافة إلى مكتبات التحميل المسبق المشتركة ، فيمكن القيام بذلك:

باستخدام مدخل Azure:

  1. حدد قاعدة بيانات Azure الخاصة بك ل PostgreSQL - خادم مرن.
  2. على الشريط الجانبي، حدد معلمات الخادم.
  3. ابحث عن المعلمة shared_preload_libraries .
  4. حدد الإضافات التي ترغب في إضافتها.  Screenshot showing Azure Database for PostgreSQL -setting shared preload libraries parameter setting for extensions installation .

باستخدام Azure CLI:

يمكنك تعيين الأمر عبر أمر تعيين shared_preload_libraries معلمة CLI.

az postgres flexible-server parameter set --resource-group <your resource group>  --server-name <your server name> --subscription <your subscription id> --name shared_preload_libraries --value <extension name>,<extension name>

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

تدعم قاعدة بيانات Azure ل PostgreSQL مجموعة فرعية من ملحقات المفاتيح كما هو موضح أدناه. تتوفر هذه المعلومات أيضا عن طريق التشغيل SHOW azure.extensions;. الملحقات غير المدرجة في هذا المستند غير معتمدة في قاعدة بيانات Azure ل PostgreSQL - خادم مرن. لا يمكنك إنشاء أو تحميل الملحق الخاص بك في قاعدة بيانات Azure ل PostgreSQL.

Postgres 13 ملحقات

تتوفر الملحقات التالية في قاعدة بيانات Azure ل PostgreSQL - الخوادم المرنة التي تحتوي على الإصدار 13 من Postgres.

الملحق إصدار الملحق الوصف
address_standardizer 3.1.1 يستخدم لتحليل العنوان إلى عناصر مكونة.
address_standardizer_data_us 3.1.1 مثال على مجموعة بيانات Address Standardizer US
أمشيك 1.2 وظائف للتحقق من سلامة العلاقة
وردة 1.0 طريقة الوصول إلى bloom - فهرس قائم على ملف التوقيع
btree_gin 1.3 دعم فهرسة أنواع البيانات الشائعة في GIN
btree_gist 1.5 دعم فهرسة أنواع البيانات الشائعة في GiST
النص 1.6 نوع البيانات لسلاسل الأحرف غير الحساسة لحالة الأحرف
مكعب 1.4 نوع البيانات للمكعبات متعددة الأبعاد
ديبلينك 1.2 الاتصال بقواعد بيانات PostgreSQL الأخرى من داخل قاعدة بيانات
dict_int 1.0 قالب قاموس البحث النصي للأعداد الصحيحة
dict_xsyn 1.0 قالب قاموس البحث النصي لمعالجة المرادفات الموسعة
المسافة الأرضية 1.1 حساب مسافات الدائرة الكبيرة على سطح الأرض
فوزيسترماتش 1.1 تحديد أوجه التشابه والمسافة بين السلاسل
هستور 1.7 نوع البيانات لتخزين مجموعات من أزواج (المفتاح والقيمة)
intagg 1.1 مجمع الأعداد الصحيحة والعداد. (عفا عليها الزمن)
إنترايف 1.3 الوظائف والمشغلين ودعم الفهرس لصفائف 1-D من الأعداد الصحيحة
يسن 1.2 أنواع البيانات لمعايير ترقيم المنتجات الدولية
lo 1.1 صيانة الأشياء الكبيرة
لتري 1.2 نوع البيانات للهياكل الهرمية الشبيهة بالشجرة
أورافتشي 3.1.8 ينفذ في Postgres بعض الوظائف من قاعدة بيانات Oracle المفقودة
فحص الصفحة 1.8 فحص محتويات صفحات قاعدة البيانات على مستوى منخفض
pg_buffercache 1.3 فحص ذاكرة التخزين المؤقت للمخزن المؤقت المشترك
pg_cron 1.4 جدولة المهام ل PostgreSQL
pg_freespacemap 1.2 فحص خريطة الفضاء الحر (FSM)
pg_partman 4.5.0 ملحق لإدارة الجداول المقسمة حسب الوقت أو المعرف
pg_prewarm 1.2 بيانات العلاقة المسبقة الاحترار
pg_repack 1.4.7 إعادة تنظيم الجداول في قواعد بيانات PostgreSQL مع الحد الأدنى من الأقفال
pg_stat_statements 1.8 تتبع إحصائيات التنفيذ لجميع SQL البيانات المنفذة
pg_trgm 1.5 قياس تشابه النص والبحث في الفهرس استنادا إلى التريغرام
pg_visibility 1.2 فحص خريطة الرؤية (VM) ومعلومات الرؤية على مستوى الصفحة
pgaudit 1.5 يوفر وظيفة التدقيق
pgcrypto 1.3 وظائف التشفير
بجلوجي 2.3.2 النسخ المتماثل للتدفق المنطقي
pgrowlocks 1.2 إظهار معلومات القفل على مستوى الصف
pgstattuple 1.5 إظهار إحصائيات على مستوى التجميع
plpgsql 1.0 لغة PL/pgSQL الإجرائية
بوستجيس 3.1.1 هندسة ما بعد نظم المعلومات الجغرافية والجغرافيا
postgis_raster 3.1.1 أنواع البيانات النقطية PostGIS ووظائفها
postgis_sfcgal 3.1.1 وظائف ما بعد نظم المعلومات الجغرافية SFCGAL
postgis_tiger_geocoder 3.1.1 PostGIS النمر geocoder وعكس geocoder
postgis_topology 3.1.1 ما بعد GIS طوبولوجيا الأنواع المكانية والوظائف
postgres_fdw 1.0 غلاف البيانات الأجنبية لخوادم PostgreSQL البعيدة
sslinfo 1.2 معلومات حول شهادات SSL
timescaledb 2.5.1 قاعدة بيانات علائقية مفتوحة المصدر للسلاسل الزمنية والتحليلات
tsm_system_rows 1.0 طريقة TABLESAMPLE التي تقبل عدد الصفوف كحد
tsm_system_time 1.0 طريقة TABLESAMPLE التي تقبل الوقت بالمللي ثانية كحد
غير لهجة 1.1 قاموس البحث النصي الذي يزيل اللهجات
uuid-ossp 1.1 إنشاء معرفات فريدة عالميا (UUIDs)

Postgres 12 ملحقات

تتوفر الملحقات التالية في قاعدة بيانات Azure ل PostgreSQL - الخوادم المرنة التي تحتوي على الإصدار 12 من Postgres.

الملحق إصدار الملحق الوصف
address_standardizer 3.0.0 يستخدم لتحليل العنوان إلى عناصر مكونة.
address_standardizer_data_us 3.0.0 مثال على مجموعة بيانات Address Standardizer US
أمشيك 1.2 وظائف للتحقق من سلامة العلاقة
وردة 1.0 طريقة الوصول إلى bloom - فهرس قائم على ملف التوقيع
btree_gin 1.3 دعم فهرسة أنواع البيانات الشائعة في GIN
btree_gist 1.5 دعم فهرسة أنواع البيانات الشائعة في GiST
النص 1.6 نوع البيانات لسلاسل الأحرف غير الحساسة لحالة الأحرف
مكعب 1.4 نوع البيانات للمكعبات متعددة الأبعاد
ديبلينك 1.2 الاتصال بقواعد بيانات PostgreSQL الأخرى من داخل قاعدة بيانات
dict_int 1.0 قالب قاموس البحث النصي للأعداد الصحيحة
dict_xsyn 1.0 قالب قاموس البحث النصي لمعالجة المرادفات الموسعة
المسافة الأرضية 1.1 حساب مسافات الدائرة الكبيرة على سطح الأرض
فوزيسترماتش 1.1 تحديد أوجه التشابه والمسافة بين السلاسل
هستور 1.6 نوع البيانات لتخزين مجموعات من أزواج (المفتاح والقيمة)
hypopg 1.2 إضافة دعم للفهارس الافتراضية
intagg 1.1 مجمع الأعداد الصحيحة والعداد. (عفا عليها الزمن)
إنترايف 1.2 الوظائف والمشغلين ودعم الفهرس لصفائف 1-D من الأعداد الصحيحة
يسن 1.2 أنواع البيانات لمعايير ترقيم المنتجات الدولية
lo 1.1 صيانة الأشياء الكبيرة
لتري 1.1 نوع البيانات للهياكل الهرمية الشبيهة بالشجرة
أورافتشي 3.1.8 ينفذ في Postgres بعض الوظائف من قاعدة بيانات Oracle المفقودة
فحص الصفحة 1.7 فحص محتويات صفحات قاعدة البيانات على مستوى منخفض
pg_buffercache 1.3 فحص ذاكرة التخزين المؤقت للمخزن المؤقت المشترك
pg_cron 1.4 جدولة المهام ل PostgreSQL
pg_freespacemap 1.2 فحص خريطة الفضاء الحر (FSM)
pg_partman 4.5.0 ملحق لإدارة الجداول المقسمة حسب الوقت أو المعرف
pg_prewarm 1.2 بيانات العلاقة المسبقة الاحترار
pg_repack 1.4.7 إعادة تنظيم الجداول في قواعد بيانات PostgreSQL مع الحد الأدنى من الأقفال
pg_stat_statements 1.7 تتبع إحصائيات التنفيذ لجميع SQL البيانات المنفذة
pg_trgm 1.4 قياس تشابه النص والبحث في الفهرس استنادا إلى التريغرام
pg_visibility 1.2 فحص خريطة الرؤية (VM) ومعلومات الرؤية على مستوى الصفحة
pgaudit 1.4 يوفر وظيفة التدقيق
pgcrypto 1.3 وظائف التشفير
بجلوجي 2.3.2 النسخ المتماثل للتدفق المنطقي
pgrowlocks 1.2 إظهار معلومات القفل على مستوى الصف
pgstattuple 1.5 إظهار إحصائيات على مستوى التجميع
plpgsql 1.0 لغة PL/pgSQL الإجرائية
بوستجيس 3.0.0 هندسة ما بعد نظم المعلومات الجغرافية والجغرافيا
postgis_raster 3.0.0 أنواع البيانات النقطية PostGIS ووظائفها
postgis_sfcgal 3.0.0 وظائف ما بعد نظم المعلومات الجغرافية SFCGAL
postgis_tiger_geocoder 3.0.0 PostGIS النمر geocoder وعكس geocoder
postgis_topology 3.0.0 ما بعد GIS طوبولوجيا الأنواع المكانية والوظائف
postgres_fdw 1.0 غلاف البيانات الأجنبية لخوادم PostgreSQL البعيدة
sslinfo 1.2 معلومات حول شهادات SSL
timescaledb 2.5.1 قاعدة بيانات علائقية مفتوحة المصدر للسلاسل الزمنية والتحليلات
tsm_system_rows 1.0 طريقة TABLESAMPLE التي تقبل عدد الصفوف كحد
tsm_system_time 1.0 طريقة TABLESAMPLE التي تقبل الوقت بالمللي ثانية كحد
غير لهجة 1.1 قاموس البحث النصي الذي يزيل اللهجات
uuid-ossp 1.1 إنشاء معرفات فريدة عالميا (UUIDs)

Postgres 11 ملحقات

تتوفر الملحقات التالية في قاعدة بيانات Azure ل PostgreSQL - الخوادم المرنة التي تحتوي على الإصدار 11 من Postgres.

الملحق إصدار الملحق الوصف
address_standardizer 2.5.1 يستخدم لتحليل العنوان إلى عناصر مكونة.
address_standardizer_data_us 2.5.1 مثال على مجموعة بيانات Address Standardizer US
أمشيك 1.1 وظائف للتحقق من سلامة العلاقة
وردة 1.0 طريقة الوصول إلى bloom - فهرس قائم على ملف التوقيع
btree_gin 1.3 دعم فهرسة أنواع البيانات الشائعة في GIN
btree_gist 1.5 دعم فهرسة أنواع البيانات الشائعة في GiST
النص 1.5 نوع البيانات لسلاسل الأحرف غير الحساسة لحالة الأحرف
مكعب 1.4 نوع البيانات للمكعبات متعددة الأبعاد
ديبلينك 1.2 الاتصال بقواعد بيانات PostgreSQL الأخرى من داخل قاعدة بيانات
dict_int 1.0 قالب قاموس البحث النصي للأعداد الصحيحة
dict_xsyn 1.0 قالب قاموس البحث النصي لمعالجة المرادفات الموسعة
المسافة الأرضية 1.1 حساب مسافات الدائرة الكبيرة على سطح الأرض
فوزيسترماتش 1.1 تحديد أوجه التشابه والمسافة بين السلاسل
هستور 1.5 نوع البيانات لتخزين مجموعات من أزواج (المفتاح والقيمة)
hypopg 1.1.2 إضافة دعم للفهارس الافتراضية
intagg 1.1 مجمع الأعداد الصحيحة والعداد. (عفا عليها الزمن)
إنترايف 1.2 الوظائف والمشغلين ودعم الفهرس لصفائف 1-D من الأعداد الصحيحة
يسن 1.2 أنواع البيانات لمعايير ترقيم المنتجات الدولية
lo 1.1 صيانة الأشياء الكبيرة
لتري 1.1 نوع البيانات للهياكل الهرمية الشبيهة بالشجرة
أورافتشي 3.1.8 ينفذ في Postgres بعض الوظائف من قاعدة بيانات Oracle المفقودة
فحص الصفحة 1.7 فحص محتويات صفحات قاعدة البيانات على مستوى منخفض
pg_buffercache 1.3 فحص ذاكرة التخزين المؤقت للمخزن المؤقت المشترك
pg_cron 1.4 جدولة المهام ل PostgreSQL
pg_freespacemap 1.2 فحص خريطة الفضاء الحر (FSM)
pg_partman 4.5.0 ملحق لإدارة الجداول المقسمة حسب الوقت أو المعرف
pg_prewarm 1.2 بيانات العلاقة المسبقة الاحترار
pg_repack 1.4.7 إعادة تنظيم الجداول في قواعد بيانات PostgreSQL مع الحد الأدنى من الأقفال
pg_stat_statements 1.6 تتبع إحصائيات التنفيذ لجميع SQL البيانات المنفذة
pg_trgm 1.4 قياس تشابه النص والبحث في الفهرس استنادا إلى التريغرام
pg_visibility 1.2 فحص خريطة الرؤية (VM) ومعلومات الرؤية على مستوى الصفحة
pgaudit 1.3.1 يوفر وظيفة التدقيق
pgcrypto 1.3 وظائف التشفير
بجلوجي 2.3.2 النسخ المتماثل للتدفق المنطقي
pgrowlocks 1.2 إظهار معلومات القفل على مستوى الصف
pgstattuple 1.5 إظهار إحصائيات على مستوى التجميع
plpgsql 1.0 لغة PL/pgSQL الإجرائية
بوستجيس 2.5.1 هندسة ما بعد نظم المعلومات الجغرافية والجغرافيا وأنواع ووظائف البيانات النقطية المكانية
postgis_sfcgal 2.5.1 وظائف ما بعد نظم المعلومات الجغرافية SFCGAL
postgis_tiger_geocoder 2.5.1 PostGIS النمر geocoder وعكس geocoder
postgis_topology 2.5.1 ما بعد GIS طوبولوجيا الأنواع المكانية والوظائف
postgres_fdw 1.0 غلاف البيانات الأجنبية لخوادم PostgreSQL البعيدة
sslinfo 1.2 معلومات حول شهادات SSL
tablefunc 1.0 الوظائف التي تتعامل مع الجداول بأكملها، بما في ذلك علامة التبويب المتقاطعة
timescaledb 1.7.4 قاعدة بيانات علائقية مفتوحة المصدر للسلاسل الزمنية والتحليلات
tsm_system_rows 1.0 طريقة TABLESAMPLE التي تقبل عدد الصفوف كحد
tsm_system_time 1.0 طريقة TABLESAMPLE التي تقبل الوقت بالمللي ثانية كحد
غير لهجة 1.1 قاموس البحث النصي الذي يزيل اللهجات
uuid-ossp 1.1 إنشاء معرفات فريدة عالميا (UUIDs)

يسمح لك dblink و postgres_fdw بالاتصال من خادم PostgreSQL إلى آخر ، أو إلى قاعدة بيانات أخرى في نفس الخادم. يدعم الخادم المرن الاتصالات الواردة والصادرة إلى أي خادم PostgreSQL. يحتاج خادم الإرسال إلى السماح بالاتصالات الصادرة بخادم الاستقبال. وبالمثل ، يحتاج خادم الاستقبال إلى السماح بالاتصالات من خادم الإرسال.

نوصي بنشر خوادمك باستخدام تكامل VNet إذا كنت تخطط لاستخدام هذين الملحقين. يسمح تكامل VNet افتراضيا بالاتصالات بين الخوادم في VNET. يمكنك أيضا اختيار استخدام مجموعات أمان شبكة VNet لتخصيص الوصول.

pg_prewarm

يقوم ملحق pg_prewarm بتحميل البيانات العلائقية في ذاكرة التخزين المؤقت. يعني التسخين المسبق لذاكرة التخزين المؤقت أن استعلاماتك لديها أوقات استجابة أفضل في أول تشغيل لها بعد إعادة التشغيل. لا تتوفر وظيفة الاحترار المسبق التلقائي حاليا في قاعدة بيانات Azure ل PostgreSQL - الخادم المرن.

pg_cron

pg_cron عبارة عن جدولة مهام بسيطة تستند إلى cron ل PostgreSQL تعمل داخل قاعدة البيانات كامتداد. يمكن استخدام ملحق pg_cron لتشغيل مهام الصيانة المجدولة داخل قاعدة بيانات PostgreSQL. على سبيل المثال، يمكنك تشغيل فراغ دوري لجدول أو إزالة مهام البيانات القديمة.

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

بعض الأمثلة:

لحذف البيانات القديمة يوم السبت الساعة 3:30 صباحا (بتوقيت جرينتش)

SELECT cron.schedule('30 3 * * 6', $$DELETE FROM events WHERE event_time < now() - interval '1 week'$$);

لتشغيل فراغ كل يوم في الساعة 10:00 صباحا (بتوقيت جرينتش)

SELECT cron.schedule('0 10 * * *', 'VACUUM');

لإلغاء جدولة جميع المهام من pg_cron

SELECT cron.unschedule(jobid) FROM cron.job;

ملاحظة

يتم تحميل ملحق pg_cron مسبقا في كل قاعدة بيانات Azure ل PostgreSQL -Flexible Server داخل قاعدة بيانات postgres لتزويدك بالقدرة على جدولة المهام لتشغيلها في قواعد بيانات أخرى داخل مثيل قاعدة بيانات PostgreSQL الخاص بك دون المساس بالأمان.

pg_stat_statements

يتم تحميل ملحق pg_stat_statements مسبقا على كل قاعدة بيانات Azure لخادم PostgreSQL المرن لتزويدك بوسيلة لتتبع إحصائيات تنفيذ SQL العبارات. الإعداد pg_stat_statements.track، الذي يتحكم في البيانات التي يتم حسابها بواسطة الامتداد ، افتراضي إلى top، مما يعني أنه يتم تتبع جميع البيانات الصادرة مباشرة من قبل العملاء. مستويا التتبع الآخران هما none و all. هذا الإعداد قابل للتكوين كمعلمة خادم.

هناك مفاضلة بين معلومات تنفيذ الاستعلام التي يوفرها pg_stat_statements والتأثير على أداء الخادم أثناء تسجيل كل عبارة SQL. إذا كنت لا تستخدم ملحق pg_stat_statements بشكل نشط، نوصيك بتعيين الإضافة pg_stat_statements.track إلى none. لاحظ أن بعض خدمات المراقبة التابعة لجهات خارجية قد تعتمد على pg_stat_statements لتقديم رؤى أداء الاستعلام، لذا تأكد مما إذا كان هذا هو الحال بالنسبة لك أم لا.

الجدول الزمنيDB

TimescaleDB هي قاعدة بيانات سلسلة زمنية يتم تعبئتها كملحق ل PostgreSQL. يوفر TimescaleDB وظائف تحليلية موجهة نحو الوقت ، وتحسينات ، ومقاييس Postgres لأحمال عمل السلاسل الزمنية. تعرف على المزيد حول TimescaleDB، وهي علامة تجارية مسجلة لشركة Timescale, Inc.. توفر قاعدة بيانات Azure ل PostgreSQL إصدار TimescaleDB Apache-2.

تثبيت TimescaleDB

لتثبيت TimescaleDB ، تحتاج إلى تضمينه في مكتبات التحميل المسبق المشتركة للخادم. يتطلب التغيير في معلمة Postgres shared_preload_librariesإعادة تشغيل الخادم ليصبح ساري المفعول. يمكنك تغيير المعلمات باستخدام مدخل Azure أو Azure CLI.

باستخدام مدخل Azure:

  1. حدد قاعدة بيانات Azure لخادم PostgreSQL.

  2. على الشريط الجانبي، حدد معلمات الخادم.

  3. ابحث عن المعلمة shared_preload_libraries .

  4. حدد TimescaleDB.

  5. حدد حفظ للحفاظ على التغييرات. تتلقى إشعارا بمجرد حفظ التغيير.

  6. بعد الإشعار، أعد تشغيل الخادم لتطبيق هذه التغييرات.

يمكنك الآن تمكين TimescaleDB في قاعدة بيانات Postgres. الاتصال إلى قاعدة البيانات وأصدر الأمر التالي:

CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;

تلميح

إذا ظهر لك خطأ، فتأكد من إعادة تشغيل الخادم بعد حفظ shared_preload_libraries.

يمكنك الآن إنشاء جدول تشعبي TimescaleDB من البداية أو ترحيل بيانات السلاسل الزمنية الموجودة في PostgreSQL.

استعادة قاعدة بيانات Timescale باستخدام pg_dump و pg_restore

لاستعادة قاعدة بيانات Timescale باستخدام pg_dump و pg_restore، تحتاج إلى تشغيل إجراءين مساعدين في قاعدة البيانات الوجهة: timescaledb_pre_restore() و timescaledb_post restore().

أولا إعداد قاعدة بيانات الوجهة:

--create the new database where you'll perform the restore
CREATE DATABASE tutorial;
\c tutorial --connect to the database 
CREATE EXTENSION timescaledb;

SELECT timescaledb_pre_restore();

الآن يمكنك تشغيل pg_dump على قاعدة البيانات الأصلية ثم القيام pg_restore. بعد الاستعادة، تأكد من تشغيل الأمر التالي في قاعدة البيانات المستعادة:

SELECT timescaledb_post_restore();

لمزيد من التفاصيل حول طريقة الاستعادة wiith Timescale تمكين قاعدة البيانات راجع وثائق Timescale

استعادة قاعدة بيانات Timescale باستخدام timescaledb-backup

أثناء تشغيل SELECT timescaledb_post_restore() الإجراء المذكور أعلاه ، قد تحصل على أذونات مرفوضة خطأ في تحديث العلامة timescaledb.restore. ويرجع ذلك إلى محدودية إذن قاعدة بيانات ALTER في خدمات قاعدة بيانات Cloud PaaS. في هذه الحالة ، يمكنك تنفيذ طريقة بديلة باستخدام timescaledb-backup أداة النسخ الاحتياطي واستعادة قاعدة بيانات Timescale. Timescaledb-backup هو برنامج لجعل الإغراق واستعادة قاعدة بيانات TimescaleDB أبسط وأقل عرضة للخطأ وأكثر أداء. للقيام بذلك ، يجب عليك القيام بما يلي

  1. تثبيت الأدوات كما هو مفصل هنا
  2. إنشاء قاعدة بيانات Azure المستهدفة لخادم PostgreSQL وقاعدة البيانات
  3. تمكين ملحق المقياس الزمني كما هو موضح أعلاه
  4. منح دور azure_pg_admin للمستخدم الذي سيتم استخدامه بواسطة ts-restore
  5. تشغيل ts-restore لاستعادة قاعدة البيانات

يمكن العثور على مزيد من التفاصيل حول هذه الأدوات المساعدة هنا.

ملاحظة

عند استخدام timescale-backup الأدوات المساعدة للاستعادة إلى Azure ، نظرا لأن أسماء مستخدمي قاعدة البيانات لقاعدة بيانات Azure غير المرنة ل PostgresQL يجب أن تستخدم <user@db-name> التنسيق ، فأنت بحاجة إلى استبدالها @ بترميز %40 الأحرف.

الخطوات التالية

إذا كنت لا ترى إضافة ترغب في استخدامها، فأخبرنا بذلك. قم بالتصويت للطلبات الحالية أو إنشاء طلبات تعليقات جديدة في منتدى التعليقات الخاص بنا.