کمپنی کے
بنیادی طور پر، یہ pg_stat_activity سے محض سیکنڈ بہ سیکنڈ اسنیپ شاٹس ہیں، لیکن اہم نکات ہیں:
- تمام جمع شدہ معلومات صرف RAM میں محفوظ کی جاتی ہیں، اور میموری کی استعمال شدہ مقدار کو آخری ذخیرہ شدہ ریکارڈز کی تعداد سے منظم کیا جاتا ہے۔
- queryid فیلڈ شامل کی گئی ہے - pg_stat_statements ایکسٹینشن سے وہی queryid (پہلے سے انسٹالیشن درکار ہے)۔
- top_level_query فیلڈ کو شامل کیا گیا ہے - استفسار کا متن جس سے موجودہ استفسار کو کال کیا گیا تھا (اگر pl/pgsql استعمال کر رہے ہوں)
pg_active_session_history فیلڈز کی مکمل فہرست:
کالم | قسم ------------------+------------ ash_time | ٹائم سٹیمپ کے ساتھ ٹائم زون datid | oid datename | ٹیکسٹ pid | انٹیجر useysid | oid استعمال نام | ٹیکسٹ ایپلیکیشن_نام | متن client_addr | متن client_hostname | متن کلائنٹ_پورٹ | انٹیجر backend_start | ٹائم اسٹیمپ کے ساتھ ٹائم زون xact_start | ٹائم اسٹیمپ کے ساتھ ٹائم زون query_start | ٹائم سٹیمپ کے ساتھ ٹائم زون state_change | ٹائم زون کے ساتھ ٹائم اسٹیمپ wait_event_type | متن wait_event | متن کی حالت | متن backend_xid | xid backend_xmin | xid top_level_query | متن کا سوال | ٹیکسٹ queryid | bigint backend_type | متن
تنصیب کے لیے ابھی تک کوئی تیار شدہ پیکیج نہیں ہے۔ ذرائع کو ڈاؤن لوڈ کرنے اور لائبریری کو خود جمع کرنے کی تجویز ہے۔ آپ کو پہلے اپنے سرور کے لیے "devel" پیکیج انسٹال کرنا ہوگا اور PATH متغیر میں pg_config کا راستہ سیٹ کرنا ہوگا۔ ہم جمع کرتے ہیں:
cd pgsentinel/src
بنا
انسٹال کریں
postgres.conf میں پیرامیٹرز شامل کریں:
shared_preload_libraries = 'pg_stat_statements,pgsentinel'
track_activity_query_size = 2048
pg_stat_statements.track = تمام# یادداشت میں رکھے گئے حالیہ ریکارڈز کی تعداد
pgsentinel_ash.max_entries = 10000
PostgreSQL کو دوبارہ شروع کریں اور ایک توسیع بنائیں:
ایکسٹینشن pgsentinel بنائیں؛
جمع شدہ معلومات ہمیں سوالات کا جواب دینے کی اجازت دیتی ہے جیسے:
- آپ نے سب سے زیادہ وقت کن انتظار کے سیشنوں میں گزارا؟
- کون سے سیشن سب سے زیادہ فعال تھے؟
- کون سی درخواستیں سب سے زیادہ فعال تھیں؟
آپ یقیناً SQL سوالات کا استعمال کرتے ہوئے ان سوالات کے جوابات حاصل کر سکتے ہیں، لیکن ماؤس کے ساتھ دلچسپی کے وقت کے وقفوں کو نمایاں کر کے گراف پر اسے بصری طور پر دیکھنا زیادہ آسان ہے۔ آپ یہ ایک مفت پروگرام کے ساتھ کر سکتے ہیں۔
شروع کرتے وقت، PASH-Viewer (ورژن 0.4.0 سے شروع ہوتا ہے) pg_active_session_history منظر کی موجودگی کو چیک کرتا ہے اور اگر یہ موجود ہے تو یہ اس سے پوری جمع شدہ تاریخ کو لوڈ کرتا ہے اور ہر 15 سیکنڈ میں گراف کو اپ ڈیٹ کرتے ہوئے نئے آنے والے ڈیٹا کو پڑھتا رہتا ہے۔
ماخذ: www.habr.com