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