ধীর চলমান অনুসন্ধানগুলির পরিসংখ্যানগুলি পান


10

আমার ডাটাবেস অ্যাপ্লিকেশনটি বিভিন্ন বিভিন্ন ক্যোয়ারি চালায়। আমি log_min_duration_statement1000 এ সেট করে রেখেছি But

সমস্ত প্রশ্নের একটি পরিসংখ্যান পাওয়া কি সম্ভব এবং কত বার তারা 1000 মিমি থেকে বেশি সময় নিয়েছিল?


1
এটি সহায়তা করে কিনা তা দেখুন: লগ_মিনি_ডুরিশন_স্টেটমেন্ট সেটিং উপেক্ষা করা হয় । অথবা আপনি সেটিংস পরিবর্তন করার পরে কনফিগারেশনটি পুনরায় লোড করতে ভুলে গেছেন।
ড্যানিয়েল ভুরিট

উত্তর:


11

এসকিউএল কমান্ডের সাহায্যে এক্সটেনশন pg_stat_statements ইনস্টল করুন

CREATE EXTENSION pg_stat_statements

আপনি কোনও উপযুক্ত ব্যবহারকারী (যেমন আপনার অ্যাপ্লিকেশন ব্যবহারকারী বা কোনও ডিবিএ অ্যাকাউন্ট ব্যবহার করে এমন ব্যবহারকারী) ব্যবহার করে আপনি এটি তৈরির বিষয়টি নিশ্চিত করতে চাইতে পারেন। সচেতন হন যে ব্যবহারকারী যে কোনও এক্সটেনশন তৈরি করে তাও এর মালিক হবে।

এটি ব্যবহারযোগ্য হওয়ার জন্য এটির জন্য একটি সার্ভার পুনঃসূচনা প্রয়োজন (কারণ আপনি মেমরির ব্যবহারকে প্রভাবিত করে এমন একটি ক্ষুদ্র বিট postgresql.conf এ কনফিগারেশন পরিবর্তন করতে হবে), তবে এটি আপনাকে সমস্ত প্রশ্নের পরিসংখ্যান দেবে।

দয়া করে দেখুন ডকুমেন্টেশন পৃষ্ঠাটিতে কি pg_stat_statements প্রদান করে আরো তথ্যের জন্য। Pg_stat_statements জন্য postgresql.conf কনফিগার ফাইলের কনফিগারেশন সম্পর্কিত একটি দ্রুত রেফারেন্সের জন্য এখানে দেখুন ।

একবার এটি ইনস্টল এবং চলমান হয়ে গেলে, আপনি pg_stat_statements ভিউটি জিজ্ঞাসা করে পরিসংখ্যান দেখতে পারেন ..

select * from pg_stat_statements;
-- or
select * from pg_stat_statements where total_time / calls > 200; -- etc ..

2

@ জোশিবিডিও কীভাবে বলেছেন যে আপনি pg_stat_statementsধীরে ধীরে প্রশ্নের পরিসংখ্যান দেখতে এক্সটেনশনটি ব্যবহার করতে পারেন । যারা ইনস্টলেশনের সাথে লড়াই করে (যেমনটি আমি করেছি):

  1. pg_stat_statementsউপলব্ধ এক্সটেনশনগুলির তালিকায় রয়েছে কিনা তা পরীক্ষা করুন :

    SELECT * FROM pg_available_extensions;
  2. postgresql-contribআপনার সিস্টেম প্যাকেজ ম্যানেজারের মাধ্যমে ডেবিয়ান / উবুন্টুতে প্যাকেজ ইনস্টল করার চেষ্টা করুন :

    sudo apt-get install postgresql-contrib-9.5

তারপরে আবার 1 পদক্ষেপ করুন।

  1. যোগ pg_stat_statementsকরার জন্য shared_preload_librariesপোস্টগ্রি কনফিগারেশনে:

এর মাধ্যমে postgres.conf:

    shared_preload_libraries = 'pg_stat_statements'

কমান্ড লাইন আর্গুমেন্টের মাধ্যমে (কোনও উদ্ধৃতি নেই!):

    postgres -c shared_preload_libraries=pg_stat_statements
  1. তারপরে একটি ডাটাবেসে এক্সটেনশনটি তৈরি করুন:

    CREATE EXTENSION pg_stat_statements;
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.