Azure Cosmos DB لمعلمات خادم PostgreSQL

ينطبق على: Azure Cosmos DB ل PostgreSQL (مدعوم بملحق قاعدة بيانات Citus إلى PostgreSQL)

هناك معلمات خادم مختلفة تؤثر على سلوك Azure Cosmos DB ل PostgreSQL، سواء من PostgreSQL القياسي، أو خاص ب Azure Cosmos DB ل PostgreSQL. يمكن تعيين هذه المعلمات في مدخل Azure لنظام مجموعة. ضمن فئة الإعدادات، اختر معلمات عقدة العامل أو معلمات عقدة المُنسِّق. تسمح لك هذه الصفحات بتعيين معلمات لجميع العقد العاملة، أو لعقدة المنسق فقط.

Azure Cosmos DB لمعلمات PostgreSQL

إشعار

قد لا تقدم المجموعات التي تعمل بالإصدارات القديمة من ملحق Citus جميع المعلمات المدرجة أدناه.

تكوين عام

citus.use_secondary_nodes (enum)

يعيّن النهج الذي يجب استخدامه عند اختيار العقد لاستعلامات SELECT. إذا تم تعيينه إلى "دائما"، فإن المخطط يستعلم فقط عن العقد التي تم وضع علامة عليها على أنها noderole "ثانوية" في pg_dist_node.

القيم المدعومة لقائمة التعداد هي:

  • أبدًا: (افتراضيًا) تتم جميع القراءات على العقد الأساسية.
  • دائمًا: تتم القراءات مقابل العقد الثانوية بدلاً من ذلك، ويتم تعطيل عبارات الإدراج/ التحديث.

citus.cluster_name (text)

إبلاغ مخطط عقدة المنسق عن المجموعة التي ينسقها. بمجرد تعيين cluster_name، يستعلم المخطط عن العقد العاملة في تلك المجموعة وحدها.

citus.enable_version_checks (منطقي)

تتطلب ترقية Azure Cosmos DB لإصدار PostgreSQL إعادة تشغيل الخادم (لالتقاط المكتبة المشتركة الجديدة)، متبوعا بالأمر ALTER EXTENSION UPDATE. قد يؤدي الفشل في تنفيذ كلتا الخطوتين إلى حدوث أخطاء أو أعطال. وبالتالي فإن Azure Cosmos DB ل PostgreSQL يتحقق من صحة إصدار التعليمات البرمجية وإصدار الملحق المطابق، ويخرج الأخطاء إذا لم يكن كذلك.

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

citus.log_distributed_deadlock_detection (boolean)

إذا ما كان سيتم تسجيل المعالجة المتعلقة باكتشاف حالة التوقف التام الموزعة في سجل الخادم. معّدة افتراضيًا على خطأ.

citus.distributed_deadlock_detection_factor (نقطة حرة)

إعداد وقت الانتظار قبل التحقق من حالات التوقف التام الموزعة. على وجه الخصوص، وقت الانتظار هو هذه القيمة مضروبة في إعداد deadlock_timeout PostgreSQL. القيمة الافتراضية هي 2. تعطل القيمة -1 الكشف عن حالة التوقف التام الموزعة.

citus.node_connection_timeout (integer)

تُعيِّن citus.node_connection_timeout GUC الحد الأقصى للمدة (بالمللي ثانية) لانتظار إنشاء الاتصال. يثير Azure Cosmos DB ل PostgreSQL خطأ إذا انقضت المهلة قبل إنشاء اتصال عامل واحد على الأقل. يؤثر GUC على الاتصالات من المنسق إلى العمال والعمال ببعضهم البعض.

  • المهلة الافتراضية: خمس ثوان
  • الحد الأدنى للمهلة: 10 مللي ثانية
  • الحد الأقصى للمهلة: ساعة واحدة
-- set to 30 seconds
ALTER DATABASE foo
SET citus.node_connection_timeout = 30000;

citus.log_remote_commands (boolean)

سجل جميع الأوامر التي يرسلها المنسق إلى عقد العامل. على سبيل المثال،

-- reveal the per-shard queries behind the scenes
SET citus.log_remote_commands TO on;

-- run a query on distributed table "github_users"
SELECT count(*) FROM github_users;

يكشف الإخراج عن العديد من الاستعلامات التي تعمل على العمال بسبب count(*) الاستعلام الفردي بالمنسق.

NOTICE:  issuing SELECT count(*) AS count FROM public.github_events_102040 github_events WHERE true
DETAIL:  on server citus@private-c.demo.postgres.database.azure.com:5432 connectionId: 1
NOTICE:  issuing SELECT count(*) AS count FROM public.github_events_102041 github_events WHERE true
DETAIL:  on server citus@private-c.demo.postgres.database.azure.com:5432 connectionId: 1
NOTICE:  issuing SELECT count(*) AS count FROM public.github_events_102042 github_events WHERE true
DETAIL:  on server citus@private-c.demo.postgres.database.azure.com:5432 connectionId: 1
... etc, one for each of the 32 shards

citus.show_shards_for_app_name_prefixes (نص)

بشكل افتراضي، يخفي Azure Cosmos DB ل PostgreSQL الأجزاء من قائمة الجداول التي يمنحها PostgreSQL لعملاء SQL. يقوم بذلك نظرًا لوجود أجزاء متعددة لكل جدول موزع، ويمكن أن تشتت الأجزاء انتباه عميل SQL.

يسمح GUC citus.show_shards_for_app_name_prefixes بعرض الأجزاء للعملاء المحددين الذين يرغبون في رؤيتها. قيمته الافتراضية هي ''.

-- show shards to psql only (hide in other clients, like pgAdmin)

SET citus.show_shards_for_app_name_prefixes TO 'psql';

-- also accepts a comma separated list

SET citus.show_shards_for_app_name_prefixes TO 'psql,pg_dump';

يمكن تعطيل إخفاء الجزء بالكامل باستخدام citus.override_table_visibility.

citus.override_table_visibility (منطقي)

تحديد ما إذا كان citus.show_shards_for_app_name_prefixes نشطًا أم لا. القيمة الافتراضية هي "True". عند التعيين إلى "false"، تكون الأجزاء مرئية لجميع تطبيقات العميل.

citus.use_citus_managed_tables (منطقي)

السماح بالوصول إلى الجداول المحلية الجديدة من خلال الاستعلامات في العقد العاملة. إضافة كافة الجداول التي تم إنشاؤها حديثًا إلى بيانات تعريف Citus عند تمكينها. القيمة الافتراضية هي "false"

citus.rebalancer_by_disk_size_base_cost (عدد صحيح)

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

القيمة الافتراضية هي 100MB.

إحصائيات الاستعلام

citus.stat_statements_purge_interval (integer)

يعيّن التردد الذي يزيل عنده البرنامج الخفي للصيانة السجلات من citus_stat_statements التي لا مثيل لها في pg_stat_statements. تحدد قيمة التكوين هذه الفاصل الزمني بين المسح بالثواني، بقيمة افتراضية 10. تُعطل القيمة 0 عمليات المسح.

SET citus.stat_statements_purge_interval TO 5;

هذه المعلمة فعالة بالمنسق ويمكن تغييرها في وقت التشغيل.

citus.stat_statements_max (عدد صحيح)

الحد الأقصى لعدد الصفوف المراد تخزينها في citus_stat_statements. الافتراضيات إلى 50000، ويمكن تغييرها إلى أي قيمة في النطاق 1000 - 10000000. يتطلب كل صف 140 بايت من التخزين، لذا فإن تعيين stat_statements_max على القيمة القصوى البالغة 10 ميغا بايت سيستهلك 1.4 غيغابايت من الذاكرة.

لا يسري تغيير GUC هذا حتى تتم إعادة تشغيل PostgreSQL.

citus.stat_statements_track (قائمة تعداد)

يتطلب تسجيل الإحصائيات لـcitus_stat_statements موارد وحدة المعالجة المركزية الإضافية. عندما تواجه قاعدة البيانات تحميلا، يمكن للمسؤول تعطيل تتبع العبارة عن طريق تعيين citus.stat_statements_track إلى none.

  • الجميع: (افتراضي) تعقب كل العبارات.
  • لا شيء: تعطيل التعقب.

citus.stat_tenants_untracked_sample_rate

معدل أخذ العينات للمستأجرين الجدد في citus_stat_tenants. يمكن أن يكون المعدل من النطاق بين 0.0 و 1.0. الافتراضي يعني 1.0 أن 100٪ من استعلامات المستأجر غير المتعقبة يتم أخذ عينات منها. يعني تعيينه إلى قيمة أقل أن المستأجرين المتعقبين لديهم بالفعل 100٪ من الاستعلامات التي تم أخذ عينات منها، ولكن يتم أخذ عينات من المستأجرين الذين لم يتم تعقبهم حاليا فقط بالمعدل المقدم.

تحميل البيانات

citus.multi_shard_commit_protocol (قائمة تعداد)

يُعيَّن بروتوكول الالتزام المراد استخدامه عند تنفيذ COPY على جدول توزيع التجزئة. في كل موضع فردي للجزء، يتم تنفيذ النسخ في عنصر حظر المستوى لمعاملة لضمان عدم استيعاب أي بيانات في حالة حدوث خطأ أثناء النسخ. ومع ذلك، توجد حالة فشل معينة ينجح فيها النسخ في جميع المواضع، ولكن يحدث فشل (الأجهزة) قبل تثبيت جميع المعاملات. يمكن استخدام هذه المعلمة لمنع خسارة البيانات في هذه الحالة عن طريق الاختيار بين بروتوكولات التثبيت التالية:

  • 2pc: (افتراضيًا) يتم إعداد المعاملات التي يتم فيها إجراء النسخ على مواضع الأجزاء أولاً باستخدام التثبيت ذي المرحلتين الخاص بـ PostgreSQL ثم إجراء التثبيت. يمكن استرداد التثبيتات الفاشلة يدويا أو إيقافها باستخدام COMMIT PREPARED أو ROLLBACK PREPARED، على التوالي. عند استخدام 2pc، يتعين زيادة max_prepared_transactions لجميع العمال، عادةً لنفس قيمة max_connections.
  • 1pc: تُنفَذ العمليات التي يتم فيها تثبيت النسخ على مواضع الأجزاء في جولة واحدة. قد تفقد البيانات إذا فشل التثبيت بعد نجاح COPY في جميع المواضع (نادرة).

citus.shard_replication_factor (integer)

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

تكوين المُخطِّط

بروتوكول citus.local_table_join_policy (قائمة تعداد)

يحدد GUC هذا كيفية نقل Azure Cosmos DB ل PostgreSQL للبيانات عند القيام بصلة بين الجداول المحلية والموزعة. يمكن أن يساعد تخصيص نهج الانضمام في تقليل كمية البيانات المرسلة بين عقد العامل.

يرسل Azure Cosmos DB ل PostgreSQL إما الجداول المحلية أو الموزعة إلى العقد حسب الضرورة لدعم الصلة. يُشار إلى نسخ بيانات الجدول باسم "تحويل." إذا تم تحويل جدول محلي، فسيتم إرساله إلى أي عمال يحتاجون إلى بياناته لتنفيذ الصلة. إذا تم تحويل جدول موزع، فسيتم تجميعه في المنسق لدعم الصلة. يرسل Azure Cosmos DB لمخطط PostgreSQL الصفوف الضرورية التي تقوم بالتحويل فقط.

توجد أربعة أوضاع متاحة للتعبير عن تفضيل التحويل:

  • auto: (افتراضي) يقوم Azure Cosmos DB ل PostgreSQL بتحويل جميع الجداول المحلية أو الموزعة لدعم الصلات بالجداول المحلية والموزعة. يقرر Azure Cosmos DB ل PostgreSQL التحويل باستخدام استدلال. يقوم بتحويل الجداول الموزعة إذا تم ربطها باستخدام عامل تصفية ثابت على فهرس فريد (مثل مفتاح أساسي). يضمن التحويل نقل كمية أقل من البيانات ين العمال.
  • أبدا: لا يسمح Azure Cosmos DB ل PostgreSQL بالصلات بين الجداول المحلية والموزعة.
  • تفضيل محلي: يفضل Azure Cosmos DB ل PostgreSQL تحويل الجداول المحلية لدعم الصلات المحلية والموزعة للجداول.
  • تفضيل التوزيع: يفضل Azure Cosmos DB ل PostgreSQL تحويل الجداول الموزعة لدعم الصلات المحلية والموزعة للجداول. إذا كانت الجداول الموزعة ضخمة، فقد يؤدي استخدام هذا الخيار إلى نقل كمًا كبيرًا من البيانات بين العمال.

على سبيل المثال، افترض أن citus_table جدول موزع حسب العمود x، وأن postgres_table جدول محلي:

CREATE TABLE citus_table(x int primary key, y int);
SELECT create_distributed_table('citus_table', 'x');

CREATE TABLE postgres_table(x int, y int);

-- even though the join is on primary key, there isn't a constant filter
-- hence postgres_table will be sent to worker nodes to support the join
SELECT * FROM citus_table JOIN postgres_table USING (x);

-- there is a constant filter on a primary key, hence the filtered row
-- from the distributed table will be pulled to coordinator to support the join
SELECT * FROM citus_table JOIN postgres_table USING (x) WHERE citus_table.x = 10;

SET citus.local_table_join_policy to 'prefer-distributed';
-- since we prefer distributed tables, citus_table will be pulled to coordinator
-- to support the join. Note that citus_table can be huge.
SELECT * FROM citus_table JOIN postgres_table USING (x);

SET citus.local_table_join_policy to 'prefer-local';
-- even though there is a constant filter on primary key for citus_table
-- postgres_table will be sent to necessary workers because we are using 'prefer-local'.
SELECT * FROM citus_table JOIN postgres_table USING (x) WHERE citus_table.x = 10;

citus.limit_clause_row_fetch_count (integer)

يعيّن عدد الصفوف المطلوب جلبها لكل مهمة لتحسين شرط الحد. في بعض الحالات، قد تحتاج استعلامات التحديد ذات عبارات الحد إلى جلب جميع الصفوف من كل مهمة لإنشاء نتائج. في هذه الحالات، وحيث ينتج عن التقريب نتائج ذات مغزى، تحدد قيمة التكوين هذه عدد الصفوف المطلوب إحضارها من كل جزء. يتم تعطيل تقديرات الحد التقريبية افتراضيًا ويتم تعيين هذه المعلمة على -1. يمكن إعداد هذه القيمة في وقت التشغيل وتكون فعالة على المنسق.

بروتوكول citus.count_distinct_error_rate (نقطة حُرة)

يمكن ل Azure Cosmos DB ل PostgreSQL حساب عدد التقريبات (المميزة) باستخدام ملحق postgresql-hll. يعين إدخال التكوين هذا معدل الخطأ المطلوب عند حساب العدد (مميز). 0.0، وهي القيمة الافتراضية، تعطل التقديرات التقريبية للعدد (مميز)؛ و1.0 لا تقدم أي ضمانات حول دقة النتائج. نوصي بتعيين هذه المعلمة على 0.005 للحصول على أفضل النتائج. يمكن إعداد هذه القيمة في وقت التشغيل وتكون فعالة على المنسق.

بروتوكول citus.task_assignment_policy (قائمة تعداد)

إشعار

لا ينطبق هذا GUC إلا عندما يكون shard_replication_factor أكبر من واحد، أو للاستعلامات مقابل reference_tables.

يعيّن النهج الذي يجب استخدامه عند تعيين المهام للعمال. يُعيِّن المنسق المهام للعمال بناءً على مواقع الأجزاء. تحدد قيم التكوين هذه النهج الذي يجب استخدامه عند إجراء هذه التعيينات. حاليًا، يوجد ثلاثة نُهج محتملة لتخصيص المهام يمكن استخدامها.

  • نهج greedy:نهج greedy هو النهج الافتراضي ويهدف إلى توزيع المهام بالتساوي بين العمال.
  • نهج round-robin: يعين نهج round-robin المهام للعاملين بطريقة round-robin، وذلك بالتناوب بين النسخ المتماثلة المختلفة. يُتيح هذا النهج استخدامًا أفضل لمجموعة أجهزة الكمبيوتر عندما يكون عدد الأجزاء للجدول منخفضًا مقارنة بعدد العمال.
  • نهج first-replica: يعيّن نهج النسخة المتماثلة الأولى المهام بناءً على ترتيب إدراج المواضع (النسخ المتماثلة) للأجزاء. بمعنى آخر، يتم تعيين استعلام الجزء الخاص بالجزء إلى العامل الذي لديه النسخة المتماثلة الأولى من هذا الجزء. يسمح لك هذا الأسلوب بأن يكون لديك ضمانات قوية حول الأجزاء التي يتم استخدامها على العقد (أي ضمانات أقوى لموقع الذاكرة).

يمكن إعداد هذه المعلمة في وقت التشغيل وتكون فعالة على المنسق.

citus.enable_non_colocated_router_query_pushdown (منطقي)

تمكين مخطط الموجه للاستعلامات التي تشير إلى الجداول الموزعة غير المجمعة.

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

الافتراضي هو off.

نقل البيانات الوسيطة

citus.max_intermediate_result_size (integer)

الحد الأقصى للحجم بوحدة KB للنتائج الوسيطة لـ CTEs التي لا يمكن دفعها لأسفل إلى العقد العاملة من أجل التنفيذ والاستعلامات الفرعية المعقدة. القيمة الافتراضية هي 1 GB، والقيمة -1 تعني عدم وجود حد. يتم إلغاء الاستعلامات التي تتجاوز الحد وتنتج رسالة خطأ.

DDL

citus.enable_schema_based_sharding

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

للحصول على مثال لاستخدام GUC هذا، راجع كيفية التصميم للخدمات المصغرة.

تكوين المُنفِّذ

عام

citus.all_modifications_commutative

يفرض Azure Cosmos DB ل PostgreSQL قواعد التنقل ويكتسب الأقفال المناسبة لعمليات التعديل من أجل ضمان صحة السلوك. على سبيل المثال، يفترض أن عبارة "إدراج" تتنقل مع عبارة "إدراج" أخرى، ولكن ليس بعبارة مختلفة مثل "تحديث" أو "يحذف". وبالمثل، فإنه يفترض أن عبارة "تحديث" أو "حذف" لا تنتقل مع عبارة "تحديث" أو "حذف" أخرى. يعني هذا الاحتياطات أن التحديثات والمحذوفات تتطلب Azure Cosmos DB ل PostgreSQL للحصول على أقفال أقوى.

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

citus.remote_task_check_interval (integer)

تعيين التردد الذي يتحقق فيه Azure Cosmos DB ل PostgreSQL من حالات المهام التي يديرها منفذ تعقب المهام. المهلة الافتراضية: 10 مللي ثانية. يقوم المنسق بتعيين المهام إلى العمال، ثم يتحقق معهم بانتظام حول تقدم كل مهمة. تعين قيمة التكوين هذه الفاصل الزمني بين فحصين متتاليين. هذه المعلمة فعالة مع المنسق ويمكن ضبطها في وقت التشغيل.

citus.task_executor_type (enum)

يحتوي Azure Cosmos DB ل PostgreSQL على ثلاثة أنواع منفذ لتشغيل استعلامات SELECT الموزعة. يمكن تحديد المنفذ المطلوب عن طريق تعيين معلمة التكوين. والقيم المقبولة لتلك المعلمة هي:

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

يمكن إعداد هذه المعلمة في وقت التشغيل وتكون فعالة على المنسق.

citus.multi_task_query_log_level (قائمة تعداد) {#multi_task_logging}

يعيّن مستوى السجل لأي استعلام يُنشئ أكثر من مهمة واحدة (أي يضرب أكثر من جزء واحد). يعد التسجيل مفيدا أثناء ترحيل تطبيق متعدد المستأجرين، حيث يمكنك اختيار الخطأ أو التحذير لمثل هذه الاستعلامات، للعثور عليها وإضافة عامل تصفية tenant_id إليها. يمكن تعيين هذه المعلمة في وقت التشغيل وتكون فعالة مع المنسق. القيمة الافتراضية لهذه المعلمة هي "إيقاف".

القيم المدعومة لقائمة التعداد هي:

  • إيقاف: إيقاف تشغيل تسجيل أي استعلامات تؤدي إلى إنشاء مهام متعددة (أي تمتد عبر أجزاء متعددة)
  • تتبع الأخطاء: عبارة سجلات بمستوى خطورة تتبع الأخطاء.
  • سجل: عبارة سجلات بمستوى خطورة السجل. يتضمن سطر السجل استعلام SQL الذي تم تشغيله.
  • الإشعار: عبارة سجلات بمستوى خطورة الإشعار.
  • تحذير: عبارة سجلات بمستوى خطورة التحذير.
  • الخطأ: عبارة سجلات بمستوى خطورة الخطأ.

قد يكون من المفيد استخدام error أثناء اختبار التطوير، ومستوى سجل أقل مثل log أثناء نشر الإنتاج الفعلي. سيؤدي اختيار log إلى ظهور استعلامات متعددة المهام في سجلات قاعدة البيانات مع عرض الاستعلام نفسه بعد "العبارة."

LOG:  multi-task query about to be executed
HINT:  Queries are split to multiple tasks if they have to be split into several queries on the workers.
STATEMENT:  select * from foo;
citus.propagate_set_commands (enum)

يُحدد أوامر المجموعة التي يتم نشرها من المنسق إلى العمال. القيمة الافتراضية لهذه المعلمة هي "بلا".

القيم المدعومة هي:

  • بلا: لا يتم نشر أي أوامر للمجموعة.
  • محلي: يتم نشر أوامر المجموعة المحلية فقط.
citus.create_object_propagation (قائمة تعداد)

يتحكم في سلوك عبارات CREATE في المعاملات للعناصر المدعومة.

عند إنشاء كائنات في كتلة معاملات متعددة العبارات، يقوم Azure Cosmos DB ل PostgreSQL بتبديل الوضع التسلسلي للتأكد من أن الكائنات التي تم إنشاؤها مرئية لعبارات لاحقة على الأجزاء. ومع ذلك، فإن التبديل إلى الوضع التسلسلي ليس مرغوبًا فيه دائمًا. من خلال تجاوز هذا السلوك، يمكن للمستخدم مقايضة الأداء من أجل تناسق المعاملات الكامل في إنشاء عناصر جديدة.

القيمة الافتراضية لهذه المعلمة هي "immediate".

القيم المدعومة هي:

  • immediate: يثير خطأ في المعاملات حيث تحدث عمليات متوازية مثل create_distributed_table قبل محاولة CREATE TYPE.
  • automatic: تأجيل إنشاء الأنواع عند مشاركة معاملة مع عملية متوازية على الجداول الموزعة. قد يكون هناك بعض عدم التناسق بين كائنات قاعدة البيانات الموجودة على عقد مختلفة.
  • deferred: العودة إلى سلوك ما قبل 11.0، والذي يشبه automatic ولكن مع حالات الزاوية الدقيقة الأخرى. نوصي باستخدام الإعداد automatic بدلاً من deferred، ما لم تكن بحاجة إلى توافق حقيقي مع الإصدارات السابقة.

للحصول على مثال على GUC هذا أثناء العمل، راجع نوع الانتشار.

بروتوكول citus.enable_repartition_joins (منطقي)

عادة، تفشل محاولة إجراء عمليات ربط إعادة تقسيم مع المنفذ التكيفي مع رسالة خطأ. ومع ذلك، يسمح الإعداد citus.enable_repartition_joins إلى true ل Azure Cosmos DB ل PostgreSQL بالتبديل مؤقتا إلى منفذ تعقب المهام لتنفيذ الصلة. القيمة الافتراضية هي false.

citus.enable_repartitioned_insert_select (boolean)

بشكل افتراضي، يكون الإدراج أسفل … عبارة SELECT التي لا يمكن دفعها لأسفل محاولات إعادة تقسيم الصفوف من عبارة SELECT ونقلها بين العمال للإدراج. ومع ذلك، إذا كان الجدول الهدف يحتوي على عدد كبير جدًا من الأجزاء، فمن المحتمل ألا تؤدي إعادة التقسيم أداءً جيدًا. الحمل الزائد لمعالجة الفواصل الزمنية للجزء عند تحديد كيفية تقسيم النتائج كبير جدا. يمكن تعطيل إعادة التقسيم يدويًا عن طريق تعيين citus.enable_repartitioned_insert_select إلى خطأ.

بروتوكول citus.enable_binary_protocol (منطقي)

يؤدي تعيين هذه المعلمة على "صحيح" إلى توجيه عقدة المنسق إلى استخدام تنسيق التسلسل الثنائي لـ PostgreSQL (عند الاقتضاء) لنقل البيانات مع العمال. بعض أنواع الأعمدة لا تدعم إنشاء تسلسل ثنائي.

يكون تمكين هذه المعلمة مفيدًا في الغالب عندما يتعين على العمال إرجاع كميات كبيرة من البيانات. ومن الأمثلة على ذلك عندما يتم طلب العديد من الصفوف، أو عندما تحتوي الصفوف على العديد من الأعمدة، أو تستخدم أنواعًا واسعة مثل hll من ملحق اسم الملف postgresql-hll.

القيمة الافتراضية هي true. عند التعيين على false، يتم ترميز جميع النتائج ونقلها بتنسيق نصي.

citus.max_adaptive_executor_pool_size (integer)

يحد Max_adaptive_executor_pool_size اتصالات العمال من الجلسة الحالية. يُعد GUC مفيدًا لما يلي:

  • منع خلفية واحدة من الحصول على جميع موارد العامل
  • توفير إدارة الأولوية: تعيين جلسات ذات أولوية منخفضة ذات max_adaptive_executor_pool_size منخفض وجلسات ذات أولوية عالية بقيم أعلى

القيمة الافتراضية هي 16.

citus.executor_slow_start_interval (integer)

حان وقت الانتظار بالمللي ثانية بين فتح الاتصالات لنفس عقدة العامل.

عندما تستغرق المهام الفردية لاستعلام متعدد الأجزاء وقتًا قليلاً، فيمكن غالبًا الانتهاء منها عبر اتصال واحد (غالبا ما يكون مخزنًا مؤقتًا بالفعل). لتجنب فتح مزيد من الاتصالات بشكل متكرر، ينتظر المنفذ بين محاولات الاتصال للعدد المكوِّن من مللي ثانية. وبنهاية الفاصل الزمني، يزيد من عدد الاتصالات المسموح بفتحها في المرة القادمة.

بالنسبة للاستعلامات الطويلة (التي تستغرق >500 مللي ثانية)، قد يضيف البدء البطيء زمن انتقال، ولكن بالنسبة للاستعلامات القصيرة، يكون أسرع. القيمة الافتراضية هي 10 مللي ثانية.

citus.max_cached_conns_per_worker (integer)

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

القيمة الافتراضية هي 1. قد تكون القيمة الأكبر مثل 2 مفيدة لمجموعات أجهزة الكمبيوتر التي تستخدم عددًا صغيرًا من الجلسات المتزامنة، ولكن ليس من الحكمة المضي قدمًا كثيرًا (على سبيل المثال، سيكون 16 مرتفعًا جدًا).

بروتوكول citus.force_max_query_parallelization (منطقي)

يحاكي المنفذ في الوقت الحقيقي الذي تم إيقافه والذي أصبح غير موجود الآن. يتم استخدام هذه المعلمة لفتح أكبر عدد ممكن من الاتصالات لزيادة توازي الاستعلام إلى أقصى حد.

عند تمكين GUC هذا، يفرض Azure Cosmos DB ل PostgreSQL المنفذ التكيفي على استخدام أكبر عدد ممكن من الاتصالات أثناء تنفيذ استعلام موزع متوازي. إذا لم يتم تمكينه، فقد يختار المنفذ استخدام اتصالات أقل لتحسين إجمالي معدل نقل تنفيذ الاستعلام. داخليا، إعداد هذا إلى true ينتهي باستخدام اتصال واحد لكل مهمة.

يوجد مكان واحد تكون فيه هذه المعلمة مفيدة في معاملة يكون استعلامها الأول خفيف الوزن ويتطلب اتصالات قليلة، بينما سيستفيد الاستعلام اللاحق من المزيد من الاتصالات. يقرر Azure Cosmos DB ل PostgreSQL عدد الاتصالات التي يجب استخدامها في معاملة استنادا إلى العبارة الأولى، والتي يمكن أن تخنق الاستعلامات الأخرى ما لم نستخدم GUC لتوفير تلميح.

BEGIN;
-- add this hint
SET citus.force_max_query_parallelization TO ON;

-- a lightweight query that doesn't require many connections
SELECT count(*) FROM table WHERE filter = x;

-- a query that benefits from more connections, and can obtain
-- them since we forced max parallelization above
SELECT ... very .. complex .. SQL;
COMMIT;

القيمة الافتراضية هي false.

تكوين مُنفذ تعقب المهام

citus.task_tracker_delay (integer)

تعين هذه المعلمة وقت السكون لمتعقب المهام بين جولات إدارة المهام والإعدادات الافتراضية إلى 200 مللي ثانية. يتم تنبيه عملية تعقب المهام بانتظام، وتتنقل عبر جميع المهام المعينة لها، وتجدول هذه المهام وتنفذها. بعد ذلك، يسكن متتبع المهام لفترة زمنية قبل التنقل بين هذه المهام مرة أخرى. تحدد قيمة التكوين هذه طول فترة السكون تلك. هذه المعلمة فعالة على العمال وتحتاج إلى تغيير في ملف postgresql.conf. بعد تحرير ملف التكوين، يمكن للمستخدمين إرسال إشارة SIGHUP أو إعادة تشغيل الخادم حتى يسري التغيير.

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

citus.max_assign_task_batch_size (integer)

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

citus.max_running_tasks_per_node (integer)

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

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

citus.partition_buffer_size (integer)

تعيين حجم المخزن المؤقت لاستخدامه لعمليات التقسيم والإعدادات الافتراضية إلى 8 ميغابايت. يسمح Azure Cosmos DB ل PostgreSQL بإعادة تقسيم بيانات الجدول إلى ملفات متعددة عند ربط جدولين كبيرين. بعد ملء المخزن المؤقت لهذا القسم، يتم تدفق البيانات المعاد تقسيمها إلى الملفات الموجودة على القرص. يمكن تعيين إدخال التكوين هذا في وقت التشغيل ويسري على العمال.

شرح الإخراج

citus.explain_all_tasks (boolean)

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

citus.explain_analyze_sort_method (قائمة تعداد)

يحدد طريقة الفرز للمهام في إخراج تحليل الشرح. وتكون القيمة الافتراضية لـ citus.explain_analyze_sort_method هي execution-time.

القيم المدعومة هي:

  • وقت التنفيذ: الفرز حسب وقت التنفيذ.
  • معرّف المهمة: الفرز حسب معرّف المهمة.

معلمات PgBouncer المدارة

يمكن تكوين معلمات PgBouncer المدارة التالية على عقدة واحدة أو منسق.

اسم المعلمة ‏‏الوصف الإعداد الافتراضي
pgbouncer.default_pool_size تعيين قيمة المعلمة هذه إلى عدد الاتصالات لكل زوج مستخدم/قاعدة بيانات. 295
pgbouncer.ignore_startup_parameters قائمة مفصولة بفواصل من المعلمات التي يمكن أن يتجاهلها PgBouncer. على سبيل المثال، يمكنك السماح لـ PgBouncer بتجاهل extra_float_digits المعلمة. يسمح ببعض المعلمات، ويثير جميع المعلمات الأخرى خطأ. هذه القدرة مطلوبة لتحمل الإفراط في الرغبة في تعيين JDBC غير المشروط "extra_float_digits=2" في حزمة بدء التشغيل. استخدم هذا الخيار إذا كانت المكتبة التي تستخدمها تستخدم أخطاء التقرير مثل pq: unsupported startup parameter: extra_float_digits. extra_float_digits، ssl_renegotiation_limit
pgBouncer.max_client_conn قم بتعيين قيمة المعلمة هذه إلى أكبر عدد من اتصالات العميل إلى PgBouncer الذي تريد دعمه . 2000
pgBouncer.min_pool_size أضف المزيد من اتصالات الخادم إلى التجمع إذا كان أقل من هذا الرقم. 0 (معطل)
pgBouncer.pool_mode قم بتعيين قيمة المعلمة هذه إلى TRANSACTION لتجميع المعاملات (وهو الإعداد الموصى به لمعظم أحمال العمل). العملية
pgbouncer.query_wait_timeout يسمح لأقصى وقت (بالثواني) بقضاء الاستعلامات في انتظار التنفيذ. إذا لم يتم تعيين الاستعلام إلى خادم خلال ذلك الوقت، يتم قطع اتصال العميل. 20s
pgbouncer.server_idle_timeout إذا كان اتصال الخادم معلقا أكثر من هذا العدد من الثوان، يتم إغلاقه. إذا كانت 0، فسيتم تعطيل هذه المهلة. 60 ثانية

معلمات PostgreSQL

  • DateStyle - تعيين تنسيق العرض لقيم التاريخ والوقت
  • IntervalStyle - تعيين تنسيق العرض لقيم الفاصل الزمني
  • TimeZone - تعيين المنطقة الزمنية لعرض الطوابع الزمنية وتفسيرها
  • application_name - تعيين اسم التطبيق ليتم الإبلاغ عنه في الإحصائيات والسجلات
  • array_nulls - تمكين إدخال عناصر حروف فارغة في الصفائف
  • autovacuum - بدء عملية التفريغ التلقائي الفرعية
  • autovacuum_analyze_scale_factor - عدد عمليات إدراج أو تحديثات أو عمليات حذف المجموعة قبل التحليل كجزء من reltuples
  • autovacuum_analyze_threshold - الحد الأدنى من عمليات إدراج أو تحديث أو حذف المجموعة قبل التحليل
  • autovacuum_naptime - وقت السكون بين مرات تشغيل التفريغ التلقائي
  • autovacuum_vacuum_cost_delay - تأخير تكلفة التفريغ بالمللي ثانية، للتفريغ التلقائي
  • autovacuum_vacuum_cost_limit - مقدار تكلفة التفريغ المتوفر قبل السكون، للتفريغ التلقائي
  • autovacuum_vacuum_scale_factor - عدد تحديثات المجموعة أو عمليات الحذف قبل التفريغ كجزء صغير من عمليات reltuples
  • autovacuum_vacuum_threshold - الحد الأدنى لعدد عمليات تحديث المجموعة أو عمليات الحذف قبل التفريغ
  • autovacuum_work_mem تحديد الحد الأقصى للذاكرة لاستخدامها في كل عملية عامل تفريغ تلقائي
  • backend_flush_after - عدد الصفحات التي يتم بعدها مسح الكتابة التي تم نقلها مسبقا إلى القرص
  • backslash_quote - يحدد إذا ما كان مسموحًا بكتابة "" في القيم الحرفية للسلسلة
  • bgwriter_delay - وقت سكون الكتابة في الخلفية بين الجولات
  • backend_flush_after - عدد الصفحات التي يتم بعدها مسح الكتابة التي نقلت مسبقًا إلى القرص
  • bgwriter_lru_maxpages - أقصى عدد لكاتب الخلفية من صفحات LRU للتدفق في كل جولة
  • bgwriter_lru_multiplier - يضاعف متوسط استخدام المخزن المؤقت مجانًا لكل جولة
  • bytea_output - إعداد تنسيق الإخراج لـ bytea
  • check_function_bodies - يتحقق من الوظائف أثناء CREATE FUNCTION
  • checkpoint_completion_target - الوقت المستغرق في مسح المخازن المؤقتة القذرة أثناء نقطة التحقق، كجزء صغير من الفاصل الزمني لنقطة التحقق
  • checkpoint_timeout - تحديد الحد الأقصى للوقت بين نقاط التحقق التلقائية من WAL
  • checkpoint_warning - يُمكِّن التحذيرات إذا تم تعبئة مقاطع نقاط التحقق بشكل متكرر أكثر من ذلك
  • client_encoding - تحديد ترميز مجموعة أحرف العميل
  • client_min_messages - تحديد مستويات الرسائل التي يتم إرسالها إلى العميل
  • commit_delay - تحديد التأخير بالميكرو ثانية بين تثبيت المعاملة وتدفق WAL إلى القرص
  • commit_siblings - تحديد الحد الأدنى من المعاملات المفتوحة المتزامنة قبل تنفيذ commit_delay
  • constraint_exclusion - يُمكِّن المخطط من استخدام القيود لتحسين الاستعلامات
  • cpu_index_tuple_cost - تحديد تقدير المخطط لتكلفة معالجة كل إدخال فهرس أثناء فحص الفهرس
  • cpu_operator_cost - تحديد تقدير المخطط لتكلفة معالجة كل عامل تشغيل أو استدعاء دالة
  • cpu_tuple_cost - تحديد تقدير المخطط لتكلفة معالجة كل مجموعة (صف)
  • cursor_tuple_fraction - تعيين تقدير المخطط لكسر صفوف المؤشر التي يتم استردادها
  • deadlock_timeout - تحديد مقدار الوقت، بالمللي ثانية، للانتظار على تأمين قبل التحقق من حالة التوقف التام
  • debug_pretty_print - تحليل المسافات البادئة وعرض مخطط الخطة
  • debug_print_parse - يسجل مخطط تحليل كل استعلام
  • debug_print_plan - يقوم بتسجيل خطة تنفيذ كل استعلام
  • debug_print_rewritten - يسجل شجرة التحليل المعاد كتابتها في كل استعلام
  • default_statistics_target - تحديد هدف الإحصائيات الافتراضي
  • default_tablespace - تحديد مساحة الجدول الافتراضية لإنشاء الجداول والفهارس في
  • default_text_search_config - تحديد تكوين البحث عن النص الافتراضي
  • default_transaction_deferrable - تحديد الحالة الافتراضية القابلة للتأجيل للمعاملات الجديدة
  • default_transaction_isolation - تحديد مستوى عزل المعاملة لكل معاملة جديدة
  • default_transaction_read_only - تحديد حالة القراءة فقط الافتراضية للمعاملات الجديدة
  • default_with_oids - يقوم بإنشاء جداول جديدة باستخدام OIDs بشكل افتراضي
  • effective_cache_size - تحديد افتراض المخطط حول حجم ذاكرة التخزين المؤقت للقرص
  • enable_bitmapscan - يُمكِّن استخدام المخطط لخطط المسح النقطي
  • enable_gathermerge - يُمكّن استخدام المخطط لجمع خطط الدمج
  • enable_hashagg - يُمكّن استخدام المخطط لخطط التجميع المتجزئة
  • enable_hashjoin - يُمكّن استخدام المخطط لخطط الانضمام إلى التجزئة
  • enable_indexonlyscan - يُمكّن استخدام المخطط لخطط فحص الفهرس فقط
  • enable_indexscan - يُمكّن استخدام المخطط لخطط فحص الفهرس
  • enable_material - يُمكِّن استخدام المخطط للتجسيد
  • enable_mergejoin - يُمكِّن استخدام المخطط لخطط ربط الدمج
  • enable_nestloop - يُمكِّن استخدام المخطط لخطط الانضمام إلى الحلقة المتداخلة
  • enable_seqscan - يُمكِّن استخدام المخطط لخطط الفحص التسلسلي
  • enable_sort - يُمكِّن استخدام المخطط لخطوات الفرز الصريحة
  • enable_tidscan - يُمكِّن استخدام المخطط لخطط فحص TID
  • escape_string_warning - يحذر من عمليات الهروب العكسية في القيم الحرفية للسلسلة العادية
  • exit_on_error - إيقاف جلسة العمل عند ظهور أي خطأ
  • extra_float_digits -يحدد عدد الأرقام المعروضة لقيم الفاصلة الحرة
  • force_parallel_mode - يقوم بفرض استخدام مرافق الاستعلام المتوازية
  • from_collapse_limit - تحديد حجم قائمة FROM التي لا يتم طي الاستعلامات الفرعية بعدها
  • geqo - يُمكِّن تحسين الاستعلام الجيني
  • geqo_effort - GEQO: يستخدم الجهد لتعيين الإعداد الافتراضي لمعلمات GEQO الأخرى
  • geqo_generations - GEQO: عدد تكرارات الخوارزميات
  • geqo_pool_size - GEQO: عدد الأفراد في المجموعات
  • geqo_seed - GEQO: قيمة أولية لتحديد المسار العشوائي
  • geqo_selection_bias - GEQO: الضغط الانتقائي داخل المجموعات
  • geqo_threshold - وضع حد عناصر FROM التي يتم استخدام GEQO خارجها
  • gin_fuzzy_search_limit - تحديد النتيجة القصوى المسموح بها للبحث الدقيق بواسطة GIN
  • gin_pending_list_limit - تحديد الحد الأقصى لحجم القائمة المعلقة لفهرس GIN
  • idle_in_transaction_session_timeout - تحديد الحد الأقصى للمدة المسموح بها لأي معاملة محمولة
  • join_collapse_limit - تحديد حجم قائمة FROM الذي لا يتم بعده تسوية بنيات JOIN
  • lc_monetary - تحديد إعدادات محلية لتنسيق المبالغ النقدية
  • lc_numeric - تحديد إعدادات محلية لتنسيق الأرقام
  • lo_compat_privileges - تمكين وضع التوافق مع الإصدارات السابقة لعمليات التحقق من الامتيازات على العناصر الكبيرة
  • lock_timeout - تحديد الحد الأقصى للمدة المسموح بها (بالمللي ثانية) لأي انتظار للقفل. 0 يوقف التشغيل
  • log_autovacuum_min_duration - تعيين الحد الأدنى لوقت التنفيذ الذي يتم فوقه تسجيل إجراءات الإخلاء التلقائي
  • log_connections - تسجيل كل اتصال ناجح
  • log_destination - إعداد الوجهة لإخراج سجل الخادم
  • log_disconnections - يقوم بتسجيل نهاية جلسة العمل، بما في ذلك المدة
  • log_duration - تسجيل مدة كل عبارة SQL مكتملة
  • log_error_verbosity - تحديد إسهاب الرسائل المسجلة
  • log_lock_waits - تسجيل انتظار القفل الطويل
  • log_min_duration_statement - تعيين الحد الأدنى لوقت التنفيذ (بالمللي ثانية) فوق العبارات التي يتم تسجيلها. -1 يعطل فترات عبارات التسجيل
  • log_min_error_statement - يسجل جميع العبارات التي تولد خطأ في هذا المستوى أو فوقه
  • log_min_messages - تحديد مستويات الرسائل التي تم تسجيلها
  • log_replication_commands - تسجيل كل أمر نسخ متماثل
  • log_statement - تحديد نوع العبارات المسجلة
  • log_statement_stats - يكتب إحصائيات الأداء التراكمي إلى سجل الخادم لكل استعلام
  • log_temp_files - يقوم بتسجيل استخدام الملفات المؤقتة الأكبر من هذا العدد من الكيلو بايت
  • maintenance_work_mem - يقوم بتسجيل الحد الأقصى للذاكرة لاستخدامها في عمليات الصيانة
  • max_parallel_workers - يحدد الحد الأقصى لعدد العمال المتوازيين الذين يمكن أن يكونوا نشطين في نفس الوقت
  • max_parallel_workers_per_gather - يضع الحد الأقصى لعدد العمليات المتوازية لكل عقدة منفذ
  • max_pred_locks_per_page - تحديد الحد الأقصى لعدد المجموعات المؤمنة على دالة التقييم لكل صفحة
  • max_pred_locks_per_relation - تحديد الحد الأقصى لعدد الصفحات المؤمنة على دالة التقييم والمجموعات لكل علاقة
  • max_standby_archive_delay - تحديد الحد الأقصى للتأخير قبل إلغاء الاستعلامات عندما يقوم خادم الاستعداد السريع بمعالجة بيانات WAL المؤرشفة
  • max_standby_streaming_delay - تحديد الحد الأقصى للتأخير قبل إلغاء الاستعلامات عندما يقوم خادم الاستعداد السريع بمعالجة بيانات WAL المتدفقة
  • max_sync_workers_per_subscription - الحد الأقصى لعدد العاملين في مزامنة الجدول لكل اشتراك
  • max_wal_size - تعيين حجم WAL الذي يقوم بتشغيل نقطة تحقق
  • min_parallel_index_scan_size - تعيين الحد الأدنى لمقدار بيانات الفهرس لإجراء فحص متوازي
  • min_wal_size - تحديد الحد الأدنى للحجم لتقليص WAL إلى
  • operator_precedence_warning - يقوم بإصدار تحذير للبنيات التي غيرت المعنى منذ PostgreSQL 9.4
  • parallel_setup_cost - تحديد تقدير المخطط لتكلفة بدء عمليات العامل للاستعلام المتوازي
  • parallel_tuple_cost - تعيين تقدير المخطط لتكلفة تمرير كل مجموعة (صف) من عامل إلى خلفية رئيسية
  • pg_stat_statements.save - يقوم بحفظ إحصائيات pg_stat_statements عبر عمليات إيقاف تشغيل الخادم
  • pg_stat_statements.track - يحدد العبارات التي يتعقبها pg_stat_statements
  • pg_stat_statements.track_utility - يقوم بتحديد إذا ما كان يتم تعقب أوامر الأداة المساعدة بواسطة pg_stat_statements
  • quote_all_identifiers - يقتبس جميع المعرفات عند إنشاء أجزاء SQL
  • random_page_cost - تحديد تقدير المخطط لتكلفة صفحة القرص التي تم جلبها بشكل غير متكرر
  • row_security - يُمكِّن أمان الصف
  • search_path - تحديد ترتيب البحث في المخطط للأسماء غير المؤهلة للمخطط
  • random_page_cost - تعيين تقدير المخطط لتكلفة صفحة القرص التي تم جلبها بشكل غير متكرر
  • session_replication_role - تحديد سلوك الجلسة للمشغلات وإعادة كتابة القواعد
  • standard_conforming_strings - يتسبب في أن تعالج السلاسل '...' الشرطات المائلة عكسيًا حرفيًا
  • statement_timeout - تحديد الحد الأقصى للمدة المسموح بها (بالمللي ثانية) لأي عبارة. 0 يوقف التشغيل
  • synchronize_seqscans - يُمكِّن عمليات الفحص المتسلسلة المتزامنة
  • synchronous_commit - يحدد مستوى مزامنة المعاملة الحالية
  • tcp_keepalives_count - يحدد الحد الأقصى لعدد عمليات إعادة الإرسال المستمرة لـ TCP
  • tcp_keepalives_idle - الوقت بين إصدار TCP keepalives
  • tcp_keepalives_interval - الوقت بين عمليات إعادة الإرسال المؤقتة لـ TCP
  • temp_buffers - تحدد هذه المعلمة الحد الأقصى لعدد المخازن المؤقتة المستخدمة من قبل كل جلسة عمل قاعدة بيانات
  • temp_tablespaces - تحديد مساحة (مساحات) الجدول لاستخدامها للجداول المؤقتة وفرز الملفات
  • track_activities - يقوم بتجميع معلومات حول تنفيذ الأوامر
  • track_counts - يقوم بتجميع الإحصائيات حول نشاط قاعدة البيانات
  • track_functions - يقوم بتجميع إحصائيات على مستوى الدالة حول نشاط قاعدة البيانات
  • track_io_timing - يقوم بتجميع إحصائيات التوقيت لنشاط إدخال/إخراج قاعدة البيانات
  • transform_null_equals - يتصرف مع "expr=NULL" على أنه "expr IS NULL"
  • vacuum_cost_delay - مقدار تأخر تكلفة التفريغ بالمللي ثانية
  • vacuum_cost_limit - مقدار تكلفة التفريغ المتاح قبل السكون
  • vacuum_cost_page_dirty - تكلفة التفريغ لصفحة تم تفريغها
  • vacuum_cost_page_hit - تكلفة التفريغ لصفحة في ذاكرة التخزين المؤقت للمخزن المؤقت
  • vacuum_cost_page_miss - تكلفة التفريغ لصفحة لم يُعثر عليها في ذاكرة التخزين المؤقت للمخزن المؤقت
  • vacuum_defer_cleanup_age - عدد المعاملات التي يجب تأجيل الفراغ وتنظيف HOT من خلالها، إن وجدت
  • vacuum_freeze_min_age - الحد الأدنى للعمر الذي يجب أن يجمد فيه التفريغ صف جدول
  • vacuum_freeze_table_age - العمر الذي يجب أن يفحص التفريغ الجدول بأكمله لتجميد المجموعات
  • vacuum_multixact_freeze_min_age - الحد الأدنى للعمر الذي يجب أن يفرِّغ بتجميد MultiXactId في صف جدول
  • vacuum_multixact_freeze_table_age -عمر Multixact الذي يجب عنده أن يفحص التفريغ جدول كامل لتجميد المجموعات
  • wal_receiver_status_interval - تحديد الحد الأقصى للفاصل الزمني بين تقارير حالة جهاز استقبال WAL إلى الأساسي
  • wal_writer_delay - الوقت بين تدفقات WAL التي يقوم بها كاتب WAL.
  • wal_writer_flush_after - يمثل مقدار WAL الذي كتبه كاتب WAL الذي يشغل التدفق
  • work_mem - تحديد مقدار الذاكرة التي سيتم استخدامها بواسطة عمليات الفرز الداخلي وجداول التجزئة قبل الكتابة إلى ملفات القرص المؤقتة
  • xmlbinary - يقوم بتعيين كيفية ترميز القيم الثنائية في XML
  • xmloption - يقوم بتعيين إذا ما كان سيتم اعتبار بيانات XML في عمليات التحليل والتسلسل الضمنية كمستندات أو أجزاء محتوى

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