আমার ডাটাবেস অ্যাপ্লিকেশনটি বিভিন্ন বিভিন্ন ক্যোয়ারি চালায়। আমি log_min_duration_statement1000 এ সেট করে রেখেছি But
সমস্ত প্রশ্নের একটি পরিসংখ্যান পাওয়া কি সম্ভব এবং কত বার তারা 1000 মিমি থেকে বেশি সময় নিয়েছিল?
আমার ডাটাবেস অ্যাপ্লিকেশনটি বিভিন্ন বিভিন্ন ক্যোয়ারি চালায়। আমি log_min_duration_statement1000 এ সেট করে রেখেছি But
সমস্ত প্রশ্নের একটি পরিসংখ্যান পাওয়া কি সম্ভব এবং কত বার তারা 1000 মিমি থেকে বেশি সময় নিয়েছিল?
উত্তর:
এসকিউএল কমান্ডের সাহায্যে এক্সটেনশন 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 ..
@ জোশিবিডিও কীভাবে বলেছেন যে আপনি pg_stat_statementsধীরে ধীরে প্রশ্নের পরিসংখ্যান দেখতে এক্সটেনশনটি ব্যবহার করতে পারেন । যারা ইনস্টলেশনের সাথে লড়াই করে (যেমনটি আমি করেছি):
pg_stat_statementsউপলব্ধ এক্সটেনশনগুলির তালিকায় রয়েছে কিনা তা পরীক্ষা করুন :
SELECT * FROM pg_available_extensions;postgresql-contribআপনার সিস্টেম প্যাকেজ ম্যানেজারের মাধ্যমে ডেবিয়ান / উবুন্টুতে প্যাকেজ ইনস্টল করার চেষ্টা করুন :
sudo apt-get install postgresql-contrib-9.5তারপরে আবার 1 পদক্ষেপ করুন।
pg_stat_statementsকরার জন্য shared_preload_librariesপোস্টগ্রি কনফিগারেশনে:এর মাধ্যমে postgres.conf:
shared_preload_libraries = 'pg_stat_statements'
কমান্ড লাইন আর্গুমেন্টের মাধ্যমে (কোনও উদ্ধৃতি নেই!):
postgres -c shared_preload_libraries=pg_stat_statements
তারপরে একটি ডাটাবেসে এক্সটেনশনটি তৈরি করুন:
CREATE EXTENSION pg_stat_statements;