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՝ կոնկրետ հարցումների կատարման պլանի վերլուծության և խցանման կետերի հայտնաբերման համար: