25.06.2025
• PostgreSQL 17.5-3.1C
• PostgreSQL 16.9-16.1C• PostgreSQL 17.4-10.1C
• PostgreSQL 16.8-40.1Cбыло добавлено расширение pg_wait_sampling.
Далее в базе выполнить
CREATE EXTENSION pg_wait_sampling;и перезапустить сервер PostgreSQL.
После запуска сервера будут доступны дополнительные представления:
1) Увидеть все текущие ожидания в представлении pg_wait_sampling_current:
Копировать в буфер обменаSELECT * FROM pg_wait_sampling_current;
2) Отфильтровать представление по одному процессу можно функцией pg_wait_sampling_get_current(), передав ей идентификатор интересующего процесса:
Копировать в буфер обменаSELECT * FROM pg_wait_sampling_get_current(pid);
3) Для анализа динамики недавних ожиданий, нужно обратиться к представлению pg_wait_sampling_history, показывающему историю ожиданий для последних процессов:
Копировать в буфер обменаSELECT * FROM pg_wait_sampling_history;
4) Для отслеживания ожиданий в базе данных в течение длительного времени используется представление pg_wait_sampling_profile:
Копировать в буфер обменаSELECT * FROM pg_wait_sampling_profile;
5) Так как статистика по ожиданиям находится в ОЗУ, важно очищать профиль со статистикой время от времени во избежание переполнения памяти.
Копировать в буфер обменаpg_wait_sampling_reset_profile();