Junior — Middle
როგორ გამოვავლინოთ და გავაანალიზოთ PostgreSQL-ში გრძელვადიანი სარეკლამო მოთხოვნა?
sobes.tech AI
პასუხი AI-სგან
PostgreSQL-ში გრძელვადიანი სარეკლამო მოთხოვნების გამოვლენისათვის, შეგიძლიათ გამოიყენოთ სისტემის ხედი pg_stat_activity, რომელიც აჩვენებს მიმდინარე აქტიურ მოთხოვნებს და მათი შესრულების დროს. მაგალითად, შემდეგი მოთხოვნა:
SELECT pid, now() - query_start AS duration, query
FROM pg_stat_activity
WHERE state = 'active'
ORDER BY duration DESC
LIMIT 5;
გაძლევს ნახოთ 5 ყველაზე გრძელვადიანი აქტიური მოთხოვნა.
მიღწევადობისთვის, შეგიძლიათ გააქტიუროთ ნელი მოთხოვნების ლოგირება postgresql.conf ფაილში:
log_min_duration_statement = 1000 # ლოგირება 1000 მს-ზე მეტი ხანგრძლივობის მოთხოვნების
ამის შემდეგ, ყველა მოთხოვნა, რომელიც ამ დროსს გადააჭარბებს, ჩაიწერება ლოგებში.
ასევე, სასარგებლოა პროფილირების ინსტრუმენტების და EXPLAIN ANALYZE-ის გამოყენება კონკრეტული მოთხოვნების შესრულების გეგმების ანალიზისთვის და ბლოკირების პუნქტების გამოვლენისათვის.