یک پرسوجو در PostgreSQL بنویسید که پنج پرسوجوی با بیشترین زمان اجرا را از pg_stat_statements نمایش دهد همراه با تعداد اجرا، زمان کل، زمان میانگین و نام کاربر.
2.0 بازدید آخرین ویرایش در 203 روز قبل ساعت 02:37 0.0
برای این کار از افزونهٔ pg_stat_statements استفاده کنید (در صورت نیاز با CREATE EXTENSION pg_stat_statements فعال کنید). ستونهای مفید شامل query، calls و total_time هستند و زمان میانگین را میتوانید با total_time/calls محاسبه کنید؛ نام کاربر را میتوان با پیوست به pg_roles از user ID به rolname تبدیل کرد. نتیجه را با ORDER BY total_time DESC LIMIT 5 مرتب و محدود کنید. نکتهها: برای مشاهدهٔ دادهها ممکن است دسترسیهای مناسب لازم باشد، و اگر میخواهید وضعیت فعلی اجراها را ببینید از pg_stat_activity استفاده کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای نمایش پنج پرسوجوی با بیشترین زمان اجرا از pg_stat_statements ابتدا افزونه pg_stat_statements را فعال کنید و مجوزهای لازم را بررسی کنید. ستونهای کلیدی شامل query یا queryid، calls و total_time هستند و زمان میانگین را با total_time/calls محاسبه کنید و نام کاربر را با پیوست به pg_roles از userid به rolname تبدیل کنید. نتیجه را با ORDER BY total_time DESC LIMIT 5 مرتب کنید و اگر میخواهید وضعیت فعلی اجراها را ببینید از pg_stat_activity استفاده کنید. توجه کنید برخی دادهها ممکن است به خاطر تنظیمات جمعآوری دادهها محدود یا مخفی باشند و تقسیم بر صفر را در نظر بگیرید.
گزارش