استخدم العروض المادية القابلة للتحديث
ORDER BY) في استخدام العروض المادية القابلة للتحديث (MVs). تتيح لك هذه العروض نسخ الجدول بالكامل بشكل دوري (على سبيل المثال، كل 5 أو 10 دقائق) بمفتاح الترتيب المطلوب.
فيما يلي مثال على MV قابلة للتحديث مع ORDER BY مخصص وإزالة التكرار المطلوبة:
مفاتيح ترتيب مخصّصة من دون العروض المادية القابلة للتحديث
اختر أعمدة مفتاح الترتيب التي لا تتغير لصف معيّن
tenant_id, id) كمفتاح ترتيب خيارًا جيدًا. فهذه الأعمدة تحدد كل صف بشكل فريد، ويظل tenant_id ثابتًا بالنسبة إلى id حتى إذا تغيرت أعمدة أخرى. وبما أن إزالة التكرار حسب id تتوافق مع إزالة التكرار حسب (tenant_id, id)، فإن ذلك يساعد على تجنب مشكلات إزالة التكرار التي قد تنشأ إذا تغير tenant_id.
تعيين REPLICA IDENTITY في جداول Postgres إلى مفتاح ترتيب مخصص
REPLICA IDENTITY في الجداول ليشمل أعمدة مفتاح الترتيب. وهذا ضروري للتعامل بدقة مع عمليات DELETE.
إذا لم يتضمن REPLICA IDENTITY أعمدة مفتاح الترتيب، فلن يلتقط Postgres CDC قيم الأعمدة الأخرى غير المفتاح الأساسي — وهذا قيد في logical decoding في Postgres. وستكون جميع أعمدة مفتاح الترتيب في Postgres، باستثناء المفتاح الأساسي، بقيم NULL. ويؤثر ذلك في إزالة التكرار، ما يعني أن الإصدار السابق من الصف قد لا يُزال تكراره مع أحدث إصدار محذوف (حيث يتم تعيين _peerdb_is_deleted إلى 1).
في المثال أعلاه الذي يتضمن owneruserid وid، إذا لم يكن المفتاح الأساسي يتضمن owneruserid بالفعل، فيجب أن يكون لديك UNIQUE INDEX على (owneruserid, id) وأن تعيّنه باعتباره REPLICA IDENTITY للجدول. وهذا يضمن أن Postgres CDC يلتقط قيم الأعمدة اللازمة لتحقيق النسخ المتماثل وإزالة التكرار بدقة.
فيما يلي مثال على كيفية تنفيذ ذلك في جدول events. احرص على تطبيق ذلك على جميع الجداول التي عُدِّلت فيها مفاتيح الترتيب.