> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-fbfa8bee.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Query insights لـ Postgres

> بيانات القياس عن بُعد لكل تعليمة في Managed Postgres: كل نمط استعلام تُشغّله قاعدة بياناتك، مرتّب حسب التأثير، مع العدادات التشخيصية التي تشرح سبب بطء كلٍ منها

export const Image = ({img, alt, size}) => {
  return <Frame>
      <img src={img} alt={alt} />
    </Frame>;
};

export const galaxyOnClick = eventName => () => {
  try {
    if (typeof window !== "undefined" && window.galaxy && eventName) {
      window.galaxy.track(eventName, {
        interaction: "click"
      });
    }
  } catch (e) {}
};

export const BetaBadge = ({link, galaxyTrack, galaxyEvent}) => {
  if (link) {
    return <a href={link} target="_blank" rel="noopener noreferrer" className="betaBadge" onClick={galaxyTrack && galaxyEvent ? galaxyOnClick(galaxyEvent) : undefined}>
                <Icon />
                <span>Beta</span>
            </a>;
  }
  return <div className="betaBadge">
            <Icon />
            <span>
                ميزة Beta. 
                <u>
                    <a href="/docs/beta-and-experimental-features#beta-features">
                        مزيد من المعلومات.
                    </a>
                </u>
            </span>
        </div>;
};

يلتقط Query Insights بيانات القياس عن بُعد على مستوى كل عبارة من مثيل
[Managed Postgres](/ar/products/managed-postgres/overview) لديك، ويُرتِّب كل نمط
استعلام حسب مدى تأثيره، بحيث يمكنك الانتقال من "قيمة p99 ترتفع تدريجيًا" إلى "هذا النمط
يُفرِّغ البيانات إلى القرص" من دون مغادرة Cloud Console.

تأتي البيانات من [`pg_stat_ch`](https://github.com/clickhouse/pg_stat_ch)،
وهي إضافة Postgres مفتوحة المصدر تبث العدادات على مستوى كل عبارة إلى
ClickHouse Cloud. تُطبَّع بيانات القياس عن بُعد داخل Postgres قبل أن تغادر
قاعدة البيانات — تُزال القيم الحرفية وتُستبدل بعلامات نائبة، بحيث لا تدخل
القيم الدقيقة التي تستعلم عنها مطلقًا إلى دفق بيانات القياس عن بُعد.

<div id="open">
  ## افتح Query insights
</div>

افتح مثيل Managed Postgres الخاص بك في Cloud Console وانقر على
**Query insights** في الشريط الجانبي الأيسر. تنقسم الصفحة إلى أربعة
أقسام، بالترتيب الذي ستستخدمها به فعليًا:

* قسم **نظرة عامة** يوفّر ملخصًا لحالة قاعدة البيانات في شاشة واحدة.
* جدول **الأنماط البطيئة** يرتّب كل نمط استعلام شغّلته قاعدة البيانات
  لديك، ومفرزًا وفقًا لما تشتبه فيه.
* لوحة **الاستعلامات الحديثة** تسرد عمليات التنفيذ الفردية بترتيب زمني
  عكسي.
* لوحة **اللوحة الجانبية للتفاصيل** تجمع كل Counter لنمط واحد.

استخدم selector **Time period** في الأعلى للتبديل بين آخر 15
دقيقة، أو الساعة الماضية، أو اليوم الماضي، أو الأسبوع الماضي، أو الشهر الماضي. ويُضبط حجم فترات aggregation
تلقائيًا — فترات مدتها دقيقة واحدة لآخر 15 دقيقة أو الساعة الماضية،
و5 دقائق لليوم الماضي، وساعة واحدة للأسبوع الماضي أو الشهر الماضي — بحيث تظل
charts سريعة الاستجابة.

<div id="overview">
  ## نظرة عامة
</div>

تعرض صفحة النظرة العامة شبكة 3×2 من ست لوحات:

| اللوحة                         | ما الذي تعرضه                                                                                                            |
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------ |
| **الاستعلامات / ثانية**        | حجم الاستعلامات محسوبًا كمعدل عبر النافذة المحددة.                                                                       |
| **زمن استجابة الاستعلام**      | متوسط وp50 وp95 وp99 في مخطط واحد، بحيث يمكنك رؤية متى يتباعد الذيل عن الوسيط.                                           |
| **تفصيل العمليات**             | مخطط دائري حلقي يوضح مزيج عمليات `SELECT` و`INSERT` و`UPDATE` وغيرها من العمليات التي يتكوّن منها حمل العمل لديك فعليًا. |
| **الصفوف المُعادة / المتأثرة** | إجمالي الصفوف التي عالجها حمل العمل خلال النافذة.                                                                        |
| **نسبة إصابة المخزن المؤقت**   | مخطط دائري حلقي يوضح الكتل المشتركة المصابة مقابل الكتل المشتركة المقروءة، مع إجمالي وقت CPU في وسيلة الإيضاح.           |
| **الأخطاء**                    | إجمالي عدد الأخطاء، موزعًا بمرور الوقت.                                                                                  |

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

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/rF8ZX2ZZNpnwXrqH/images/managed-postgres/monitoring/query-insights-overview.png?fit=max&auto=format&n=rF8ZX2ZZNpnwXrqH&q=85&s=9658996396f6e5acb4a12512a59a0ba8" alt="نظرة عامة على Query Insights تعرض بطاقات الإحصاءات الست: الاستعلامات في الثانية، والنسب المئينية لزمن استجابة الاستعلام، ومخططًا دائريًا حلقيًا لتفصيل العمليات، ومخططًا مساحيًا للصفوف المُعادة، ومخططًا دائريًا حلقيًا لنسبة إصابة المخزن المؤقت عند 95.2 بالمئة، ومخططًا عموديًا للأخطاء" size="lg" border width="2724" height="1612" data-path="images/managed-postgres/monitoring/query-insights-overview.png" />

<div id="slow-patterns">
  ## الأنماط البطيئة
</div>

عندما يشير قسم "نظرة عامة" إلى وجود مشكلة، يكون جدول الأنماط هو المكان الذي
يبدأ منه التحقيق. صف واحد لكل نمط استعلام مُطبَّع، بعد تجريد
القيم الحرفية بحيث تُجمَّع عمليات تنفيذ العبارة نفسها في
الصف نفسه.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/rF8ZX2ZZNpnwXrqH/images/managed-postgres/monitoring/query-insights-patterns.png?fit=max&auto=format&n=rF8ZX2ZZNpnwXrqH&q=85&s=5e78da12ad4bdfc0dca21f08e261040c" alt="جدول الأنماط البطيئة للاستعلامات يعرض صفًا واحدًا لكل استعلام مُطبَّع، مع أعمدة قاعدة البيانات، والمستخدم، والعملية، والاستدعاءات، والأخطاء، ومتوسط زمن الاستجابة، وP95، وأقصى زمن استجابة، وإجمالي وقت التشغيل، والصفوف المُعادة، وإصابة ذاكرة التخزين المؤقت" size="lg" border width="2610" height="702" data-path="images/managed-postgres/monitoring/query-insights-patterns.png" />

<div id="sort">
  ### رتّب بحسب ما تشكّ فيه
</div>

يُفرَز الجدول افتراضيًا حسب **إجمالي زمن التشغيل** ترتيبًا تنازليًا — وعندما تفرزه بهذه
الطريقة، يكون النمط الأعلى عادةً هو الإجابة عن سؤال "ما الذي يكلّفني
أكثر؟" وقد لا يكون هذا هو أبطأ نمط بحد ذاته. فقد يكون استعلام يُشغَّل
ثمانية ملايين مرة يوميًا بزمن اثني عشر ميلي ثانية أهم من
استعلام آخر شُغِّل مرة واحدة واستغرق ثلاث ثوانٍ.

يمنحك كل فرز منظورًا مختلفًا:

* **إجمالي زمن التشغيل** — حيث قضت قاعدة البيانات أكبر قدر من الوقت الفعلي.
* **وقت CPU** — الأنماط كثيفة المعالجة.
* **الاستدعاءات** — الأنماط عالية التكرار.
* **الأخطاء** — الإخفاقات المتكررة.
* **متوسط / P50 / P95 / P99 / الحد الأقصى لزمن الاستجابة** — القيم الشاذة، بحسب النسبة المئوية.
* **الصفوف المُعادة**، **الكتل المقروءة**، **الكتل المخدَّمة من الذاكرة المؤقتة**، **بايتات WAL** —
  الأنماط التي حرّكت أكبر قدر من البيانات عبر المحرك، أو الذاكرة المؤقتة، أو
  سجل الكتابة المسبقة.

انقر زر **الأعمدة** لإظهار أعمدة إضافية أو إخفائها.
يعرض جدول الأنماط 19 عمودًا إجمالًا، بما في ذلك تفصيل
النِّسَب المئوية، ونسبة إصابة الذاكرة المؤقتة، ووقت CPU لكل نمط.

<div id="filters">
  ### تضييق نطاق الجدول
</div>

صفِّ الجدول بحسب الجزء من عبء العمل الذي
تُحقّق فيه:

* **قاعدة البيانات**
* **المستخدم**
* **العملية** (`SELECT`, `INSERT`, `UPDATE`, `DELETE`, …)
* **التطبيق** — `application_name` من سلسلة الاتصال

"أرِني فقط ما الذي تفعله خدمة orders على قاعدة البيانات `sales`"
تصبح قائمتَي اختيار منسدلتين. وتُملأ قيم التصفية تلقائيًا استنادًا إلى ما
شغّله مثيلك فعليًا.

<div id="recent-queries">
  ## الاستعلامات الحديثة
</div>

أسفل جدول الأنماط، تعرض لوحة **الاستعلامات الحديثة** عمليات
التنفيذ الفردية بترتيب زمني عكسي — صفًا واحدًا لكل
تعليمة مُنفَّذة، وليس صفًا واحدًا لكل نمط. استخدمها عندما تريد
تدفق الأحداث الخام بدلًا من عرض مُجمَّع، على سبيل المثال للتحقق سريعًا من أن
الإصلاح دخل حيّز التنفيذ أو للعثور على اللحظة الدقيقة التي ظهر فيها الخطأ.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/rF8ZX2ZZNpnwXrqH/images/managed-postgres/monitoring/query-insights-recent-queries.png?fit=max&auto=format&n=rF8ZX2ZZNpnwXrqH&q=85&s=9c28e89654201a2e06084871cc04a1ba" alt="جدول الاستعلامات الحديثة مع قوائم منسدلة للتصفية بحسب قاعدة البيانات والمستخدم والعملية والتطبيق، وأعمدة للوقت والعملية والاستعلام والمدة والصفوف وقاعدة البيانات والمستخدم والكتل المقروءة" size="lg" border width="2614" height="1384" data-path="images/managed-postgres/monitoring/query-insights-recent-queries.png" />

الأعمدة الافتراضية هي الوقت، والعملية، والاستعلام، والمدة، والصفوف،
وقاعدة البيانات، والمستخدم، والكتل المقروءة. افتح منتقي **الأعمدة** لعرض
Application وBlks hit وCPU user وCPU sys وPID. يقبل الجدول
فلاتر قاعدة البيانات والمستخدم والعملية والتطبيق نفسها كما في جدول
الأنماط، ويمكن فرزه حسب الوقت، والمدة، والصفوف، والكتل المقروءة،
ووقت CPU.

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

<div id="detail">
  ## اللوحة الجانبية للتفاصيل
</div>

انقر على أي صف في جدول الأنماط أو الاستعلامات الأخيرة، فتُفتح **اللوحة الجانبية لتفاصيل الاستعلام**
على اليمين. تعرض اللوحة جميع عمليات تنفيذ
هذا النمط ضمن النطاق الزمني المحدد، وتُجمِّع
العدادات التي توضّح سبب بطئه.

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

* **نمط الاستعلام** — ‏SQL المُطبَّع مع استبدال القيم الحرفية بـ `$1`،
  `$2`، … وزر للنسخ إلى الحافظة.
* **الاستخدام المُجمَّع للموارد** — شبكة من 13 بطاقة إحصائية تغطي إجمالي
  الاستدعاءات، ومتوسط/‏P95/‏P99/الحد الأقصى لزمن الاستجابة، وإجمالي زمن التشغيل، والصفوف المُعادة، ونسبة إصابة الذاكرة المؤقتة،
  والكتل المقروءة، والكتل الموجودة في ذاكرة التخزين المؤقت، ووقت CPU، وبايتات WAL، والأخطاء.
* **سياق الاستعلام** — قاعدة البيانات، والمستخدم، والعملية، والتطبيق
  الذي صدر عنه هذا النمط.
* **التنفيذات البارزة** — الأخطاء، وعمليات التشغيل البطيئة بشكل غير معتاد،
  والتنفيذات ذات النتائج الكبيرة، وتظهر قبل القائمة الكاملة للتنفيذات الأخيرة.
* **التنفيذات الأخيرة** — عمليات التشغيل الفردية للنمط نفسه،
  مع عدادات لكل تنفيذ.

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/rF8ZX2ZZNpnwXrqH/images/managed-postgres/monitoring/query-insights-detail-aggregate.png?fit=max&auto=format&n=rF8ZX2ZZNpnwXrqH&q=85&s=38e7ec303612b05be6f39a0289dc459d" alt="اللوحة الجانبية لتفاصيل الاستعلام تعرض مقطع شيفرة نمط الاستعلام وشبكة الاستخدام المُجمَّع للموارد التي تضم ثلاث عشرة بطاقة إحصائية، بما في ذلك إجمالي الاستدعاءات، والنسب المئوية لزمن الاستجابة، وإجمالي زمن التشغيل، والصفوف المُعادة، ونسبة إصابة الذاكرة المؤقتة، والكتل المقروءة، والكتل الموجودة في ذاكرة التخزين المؤقت، ووقت CPU، وبايتات WAL، والأخطاء" size="md" border width="1270" height="1670" data-path="images/managed-postgres/monitoring/query-insights-detail-aggregate.png" />

<Image img="https://mintcdn.com/private-7c7dfe99-mintlify-fbfa8bee/rF8ZX2ZZNpnwXrqH/images/managed-postgres/monitoring/query-insights-detail-recent.png?fit=max&auto=format&n=rF8ZX2ZZNpnwXrqH&q=85&s=fd681d60ffa0891e3ff111d181c0fd6f" alt="متابعة اللوحة الجانبية لتفاصيل الاستعلام، وتعرض قسم سياق الاستعلام الذي يتضمن قاعدة البيانات والمستخدم والعملية والتطبيق، وبطاقة للتنفيذات الأخيرة تتضمن الطابع الزمني، وحالة OK، ودور الخادم، ومعرّف المضيف، وعدادات لكل تنفيذ للمدة، والصفوف، وإصابات ذاكرة التخزين المؤقت، وCPU، والكتل المشتركة المقروءة، والكتل المشتركة الموجودة في ذاكرة التخزين المؤقت" size="md" border width="1278" height="1148" data-path="images/managed-postgres/monitoring/query-insights-detail-recent.png" />

<div id="counters">
  ### العدادات لكل تنفيذ
</div>

وسّع تنفيذًا حديثًا وستحصل على العدادات التي توضّح بدقة أين
استُهلك الوقت:

* **الكتل المشتركة** — يظهر دائمًا كلٌّ من القراءة والإصابات؛ وتظهر الكتابة
  والتعليم كمتّسخة عندما لا تكون القيم صفرية.
* **عمليات الكتل المحلية والمؤقتة** — تشير قيم عمليات الكتل المؤقتة غير الصفرية إلى أن عملية sort أو
  hash قد نُقلت إلى القرص.
* **وقت القراءة / الكتابة** — وقت I/O، منفصلًا عن وقت CPU.
* **وقت CPU** — وقت المستخدم ووقت النظام، كلٌّ على حدة.
* **العاملون المتوازيون** — العدد المخطَّط له مقابل العدد الذي أُطلق فعليًا.
* **JIT** — إجمالي وقت تجميع JIT وعدد الدوال.
* **WAL** — عدد البايتات وعدد السجلات.

كل ما تحتاج إليه لتشخيص نمط بطيء موجود في مكان واحد، وعلى
شاشة واحدة.

<div id="api">
  ## واجهة برمجة تطبيقات Query insights
</div>

تتوفر بيانات القياس عن بُعد نفسها أيضًا برمجيًا من خلال
[ClickHouse Cloud OpenAPI](/ar/products/managed-postgres/openapi#query-insights).
ويقابل جدول [الأنماط البطيئة](#slow-patterns)
نقطة النهاية
[list slow query patterns](/ar/api-reference/organization/get-list-of-available-organizations#tag/Postgres/operation/slowQueryPatternsGetList)
، كما تقابل [اللوحة الجانبية للتفاصيل](#detail)
نقطة النهاية
[get slow query pattern](/ar/api-reference/organization/get-list-of-available-organizations#tag/Postgres/operation/slowQueryPatternGet)
التي تُرجع المقاييس المجمّعة لنمط واحد، إلى جانب
أحدث عمليات تنفيذه.

<div id="how-it-works">
  ## آلية العمل
</div>

<div id="how-normalized">
  ### تُطبَّع في Postgres قبل الإرسال عبر الشبكة
</div>

يعترض `pg_stat_ch` مرحلة التحليل النحوي والدلالي، ويستبدل كل قيمة حرفية بعنصر نائب
(`$1`, `$2`, …)، ويخزّن النمط الناتج مؤقتًا في ذاكرة LRU خاصة بكل backend
ومفهرسة بواسطة `queryid`. وعندما ينتهي المنفّذ من تنفيذ التعليمة، يكون ذلك
النمط المخزَّن مؤقتًا هو ما يُرفق بالحدث. ولا تغادر التعليمة الفعلية مع القيم
قاعدة البيانات مطلقًا.

<div id="how-overhead">
  ### من دون إعاقة قاعدة البيانات
</div>

يضيف المُنتِج عبئًا إضافيًا يقارب 3% لكل تعليمة SQL. ويستخدم مسار الإدراج في
الطابور قفل try-lock غير حاجب على مخزن مؤقت دائري في الذاكرة المشتركة. وعند
ارتفاع الحمل، يُسقِط الامتداد الأحداث ويعتمد على عدّاد بدلًا من فرض ضغط
رجعي على Postgres.

<div id="how-raw-events">
  ### أحداث أولية، لا بيانات مجمّعة
</div>

يُصدر `pg_stat_ch` حدثًا أوليًا واحدًا لكل تعليمة مُنفَّذة (على المستوى الأعلى
والمتداخلة)، مع مراعاة أخذ العينات. وكل مئين وترتيب وتفصيل
في واجهة المستخدم هو استعلام في ClickHouse على تدفّق الأحداث نفسه.

<div id="how-engine">
  ### نفس المحرك الذي يستخدمه عملاؤنا
</div>

الواجهة الخلفية لـ Insights هي [ClickHouse Cloud](/ar/products/cloud/getting-started/intro).
تنتج بيانات القياس عن بُعد لكل استعلام من مثيل Postgres كثيف الحمل ملايين الصفوف
يوميًا؛ ويجعل الضغط العمودي الاحتفاظ بأشهر من تفاصيل كل تنفيذ منخفض التكلفة،
كما تُبقي عمليات التجميع التي تستغرق أقل من ثانية عبر مليارات الصفوف
واجهة المستخدم تفاعلية أثناء تحليل بيانات أسبوع أو شهر.

<div id="how-open-source">
  ### مفتوح المصدر
</div>

`pg_stat_ch` مرخّص بموجب Apache 2.0. شغِّله مع أي Postgres، وأرسل البيانات إلى أي
ClickHouse. الكود المصدري وتقارير المشكلات متاحة على
[github.com/clickhouse/pg\_stat\_ch](https://github.com/clickhouse/pg_stat_ch).

<div id="related">
  ## الصفحات ذات الصلة
</div>

* [لوحة معلومات المراقبة](/ar/products/managed-postgres/monitoring/dashboard) — مخططات مدمجة للموارد والنشاط
* [نقطة نهاية Prometheus](/ar/products/managed-postgres/monitoring/prometheus) — اجمع مقاييس على مستوى المضيف إلى حزمة observability الخاصة بك
* [Managed Postgres OpenAPI](/ar/products/managed-postgres/openapi#query-insights) — استعلم برمجيًا عن الأنماط البطيئة وعمليات التنفيذ الأخيرة
* [الامتدادات](/ar/products/managed-postgres/extensions) — الامتدادات المتاحة على مثيلات Managed Postgres
* [`pg_stat_ch` on GitHub](https://github.com/clickhouse/pg_stat_ch) — الامتداد مفتوح المصدر الذي يدعم Query Insights
