F.44. pg_wait_sampling
pg_wait_sampling â ÑÑо ÑаÑÑиÑение Postgres Pro Ð´Ð»Ñ Ð¿ÐµÑиодиÑеÑкого ÑбоÑа ÑÑаÑиÑÑики по ÑобÑÑиÑм ожиданиÑ.
ÐаÑÐ¸Ð½Ð°Ñ Ñ Ð²ÐµÑÑии 9.6, Postgres Pro Standard вÑдаÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ ÑекÑÑиÑ
ÑобÑÑиÑÑ
Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ð¾Ð¿ÑеделÑннÑÑ
пÑоÑеÑÑов. Ðднако ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð»ÑÑиÑÑ Ð¿Ð¾Ð»ÐµÐ·Ð½ÑÑ Ð¾Ð±ÑÑÑ ÑÑаÑиÑÑÐ¸ÐºÑ Ð°ÐºÑивноÑÑи ÑеÑвеÑа, необÑ
одимо ÑнимаÑÑ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¿Ð¾ ÑобÑÑиÑм Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð½ÐµÐ¾Ð´Ð½Ð¾ÐºÑаÑно. РаÑÑиÑение pg_wait_sampling авÑомаÑизиÑÑÐµÑ ÑнÑÑие показаний по ÑобÑÑиÑм ожиданиÑ, запÑÑÐºÐ°Ñ ÑпеÑиалÑнÑй ÑабоÑий пÑоÑеÑÑ. Ðогда ÑаÑÑиÑение pg_wait_sampling вклÑÑено, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе полÑÑаÑÑ ÑледÑÑÑÑÑ Ð¿ÐµÑиодиÑеÑки ÑобиÑаемÑÑ Ð¸Ð½ÑоÑмаÑиÑ:
ÐÑÑоÑÐ¸Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ð¹ â ÑпиÑок ÑобÑÑий Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ð½ÐµÐ´Ð°Ð²Ð½Ð¸Ñ Ð¿ÑоÑеÑÑов, Ñ Ð¾ÑмеÑками вÑемени.
ÐÑоÑÐ¸Ð»Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ð¹ â колиÑеÑÑво наблÑдавÑÐ¸Ñ ÑÑ ÑобÑÑий Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ð²ÑÐµÑ Ð¿ÑоÑеÑÑов, в ÑазÑезе Ñипов ÑобÑÑий.
ТекÑÑие ÑобÑÑÐ¸Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ð²ÑÐµÑ Ð¿ÑоÑеÑÑов, вклÑÑÐ°Ñ ÑоновÑе ÑабоÑие пÑоÑеÑÑÑ.
ÐÑполÑзÑÑ pg_wait_sampling, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе вÑÑвиÑÑ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð·Ð°Ð²Ð¸ÑимоÑÑей запÑоÑов, вÑполнÑÑÑиÑ
ÑÑ Ð´Ð¾Ð»ÑÑе Ñем ожидаеÑÑÑ. ÐÑ Ð¼Ð¾Ð¶ÐµÑе видеÑÑ Ð¿ÑоÑеÑÑÑ Ð² ÑоÑÑоÑнии Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð² каждÑй Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð²Ñемени и пÑоанализиÑоваÑÑ ÑÑаÑиÑÑÐ¸ÐºÑ ÑобÑÑий ожиданиÑ. СпиÑок возможнÑÑ
ÑобÑÑий Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð¿ÑиведÑн в ТаблиÑе 27.4.
См. Ñакже
ÐÑоÑмоÑÑ ÑÑаÑиÑÑики по ÑобÑÑиÑм ожиданиÑ
F.44.1. УÑÑановка
РаÑÑиÑение pg_wait_sampling вÑ
Ð¾Ð´Ð¸Ñ Ð² ÑоÑÑав Postgres Pro Standard и не Ð¸Ð¼ÐµÐµÑ Ð¾ÑобÑÑ
ÑÑебований.
ЧÑÐ¾Ð±Ñ Ð²ÐºÐ»ÑÑиÑÑ pg_wait_sampling, вÑполниÑе ÑледÑÑÑее:
ÐобавÑÑе
pg_wait_samplingв пеÑеменнÑÑshared_preload_librariesв Ñайлеpostgresql.conf:shared_preload_libraries = 'pg_wait_sampling'
СоздайÑе ÑаÑÑиÑение
pg_wait_sampling, вÑполнив ÑледÑÑÑий запÑоÑ:CREATE EXTENSION pg_wait_sampling;
ÐеÑезапÑÑÑиÑе ÑеÑвеÑ. Так как ÑаÑÑиÑениÑ
pg_wait_samplingÑÑебÑеÑÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑÐ½Ð°Ñ ÑазделÑÐµÐ¼Ð°Ñ Ð¿Ð°Ð¼ÑÑÑ Ð¸ ÑоновÑй ÑабоÑий пÑоÑеÑÑ, Ð²Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¿ÐµÑезапÑÑÑиÑÑ ÑеÑÐ²ÐµÑ Ð¿Ð¾Ñле Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ ÑдалениÑpg_wait_sampling.
ÐоÑле ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ ÑаÑÑиÑÐµÐ½Ð¸Ñ pg_wait_sampling наÑÐ¸Ð½Ð°ÐµÑ ÑобиÑаÑÑ ÑÑаÑиÑÑÐ¸ÐºÑ Ð¿Ð¾ ÑобÑÑиÑм Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ пÑоÑеÑÑа. ÐÑ Ð¼Ð¾Ð¶ÐµÑе по ÑÐ²Ð¾ÐµÐ¼Ñ ÑÑмоÑÑÐµÐ½Ð¸Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸ÑÑ ÑаÑÑоÑÑ ÑнÑÑÐ¸Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ð¸Ð¹ и наÑÑÑоиÑÑ ÑÐµÐ¶Ð¸Ð¼Ñ ÑбоÑа ÑÑаÑиÑÑики, иÑполÑзÑÑ Ð¿ÐµÑеменнÑе GUC.
ÐÑли Ð²Ñ Ñ
оÑиÑе оÑÑановиÑÑ ÑÐ±Ð¾Ñ ÑÑаÑиÑÑики, ÑдалиÑе ÑаÑÑиÑение pg_wait_sampling, ÑбеÑиÑе pg_wait_sampling из пеÑеменной shared_preload_libraries и пеÑезагÑÑзиÑе ÑеÑвеÑ.
F.44.2. ÐÑполÑзование
F.44.2.1. ÐÑоÑмоÑÑ ÑÑаÑиÑÑики по ÑобÑÑиÑм ожиданиÑ
Ðогда pg_wait_sampling ÑабоÑаеÑ, Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ð¸Ñ ÑнимаÑÑÑÑ Ð¿Ð¾ ÑмолÑÐ°Ð½Ð¸Ñ ÐºÐ°Ð¶Ð´Ñе 10 мÑ. ÐбÑаÑиÑÑÑÑ Ðº ÑобÑанной ÑÑаÑиÑÑике Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑеÑез Ð½Ð°Ð±Ð¾Ñ ÑÑнкÑий и пÑедÑÑавлений. ÐÑли Ð²Ñ Ð·Ð°Ð¼ÐµÑаеÑе, ÑÑо некоÑоÑÑе запÑоÑÑ Â«Ð·Ð°Ð²Ð¸Ñли» или вÑполнÑÑÑÑÑ Ð´Ð¾Ð»ÑÑе, Ñем ожидаеÑÑÑ, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑвидеÑÑ Ð²Ñе ÑекÑÑие ÑобÑÑÐ¸Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð² пÑедÑÑавлении pg_wait_sampling_current:
SELECT * FROM pg_wait_sampling_current;
ÐозвÑаÑÐ°ÐµÐ¼Ð°Ñ ÑÑаÑиÑÑика оÑ
ваÑÑÐ²Ð°ÐµÑ Ð²Ñе акÑивнÑе пÑоÑеÑÑÑ, вклÑÑÐ°Ñ ÑоновÑе ÑабоÑие пÑоÑеÑÑÑ. ЧÑÐ¾Ð±Ñ Ð¾ÑÑилÑÑÑоваÑÑ ÑÑо пÑедÑÑавление по Ð¾Ð´Ð½Ð¾Ð¼Ñ Ð¿ÑоÑеÑÑÑ, воÑполÑзÑйÑеÑÑ ÑÑнкÑией pg_wait_sampling_get_current() и пеÑедайÑе ей иденÑиÑикаÑÐ¾Ñ Ð¸Ð½ÑеÑеÑÑÑÑего пÑоÑеÑÑа:
SELECT * FROM pg_wait_sampling_get_current(pid);ЧÑÐ¾Ð±Ñ Ð»ÑÑÑе понимаÑÑ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÐºÑ Ð½ÐµÐ´Ð°Ð²Ð½Ð¸Ñ
ÑобÑÑий ожиданиÑ, можно обÑаÑиÑÑÑÑ Ðº пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ pg_wait_sampling_history, показÑваÑÑÐµÐ¼Ñ Ð¸ÑÑоÑÐ¸Ñ ÑобÑÑий Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ð¿Ð¾ÑледниÑ
пÑоÑеÑÑов:
SELECT * FROM pg_wait_sampling_history;
ÐÑо пÑедÑÑавление вÑдаÑÑ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¿Ð¾ ÑобÑÑиÑм Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ñ Ð¾ÑмеÑками вÑемени. ÐÑÑоÑÐ¸Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ð¹ Ñеализована как колÑÑевой бÑÑÐµÑ Ð² памÑÑи, ÑÐ°Ð·Ð¼ÐµÑ ÐºÐ¾ÑоÑого по ÑмолÑÐ°Ð½Ð¸Ñ Ð¾Ð³ÑаниÑен 5000 показаниÑми. ЧÑÐ¾Ð±Ñ ÑоÑ
ÑаниÑÑ Ð¸ÑÑоÑÐ¸Ñ Ð·Ð° болÑÑий пеÑиод вÑемени, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе измениÑÑ Ð¿ÐµÑеменнÑÑ pg_wait_sampling.history_size либо подклÑÑиÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÑкое пÑиложение, коÑоÑое бÑÐ´ÐµÑ Ð¿ÐµÑиодиÑеÑки ÑÑиÑÑваÑÑ Ð¸ÑÑоÑÐ¸Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ð¹ и ÑоÑ
ÑанÑÑÑ ÐµÑ Ð² локалÑном Ñ
ÑанилиÑе.
ÐÐ»Ñ Ð¾ÑÑÐ»ÐµÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ ÑобÑÑий Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð² ваÑей базе даннÑÑ
в ÑеÑение длиÑелÑного вÑемени иÑполÑзÑйÑе пÑедÑÑавление pg_wait_sampling_profile:
SELECT * FROM pg_wait_sampling_profile;
ÐÑоÑÐ¸Ð»Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ð¹ ÑоÑ
ÑанÑеÑÑÑ ÐºÐ°Ðº Ñ
еÑ-ÑаблиÑа в памÑÑи, накапливаÑÑÐ°Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°Ñели по оÑделÑнÑм пÑоÑеÑÑам и по ÑобÑÑиÑм ожиданиÑ. ÐÑ Ð¼Ð¾Ð¶ÐµÑе ÑбÑоÑиÑÑ Ð¿ÑоÑÐ¸Ð»Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ð¹, вÑзвав ÑÑнкÑÐ¸Ñ pg_wait_sampling_reset_profile(). ÐÑли Ð²Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑиÑе к ваÑей базе даннÑÑ
клиенÑа, коÑоÑÑй бÑÐ´ÐµÑ Ð¿ÐµÑиодиÑеÑки ÑбÑаÑÑваÑÑ Ð´Ð°Ð½Ð½Ñе ÑобÑÑий Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð¸ оÑиÑаÑÑ Ð¿ÑоÑилÑ, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑоÑ
ÑанÑÑÑ Ð¸ анализиÑоваÑÑ ÐºÐ¾Ð½ÑенÑÑаÑÐ¸Ñ ÑобÑÑий Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð²Ð¾ вÑемени.
Ðажно
Так как ÑÑаÑиÑÑика по ÑобÑÑиÑм Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð² ÐÐУ, важно оÑиÑаÑÑ Ð¿ÑоÑÐ¸Ð»Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ð¹ вÑÐµÐ¼Ñ Ð¾Ñ Ð²Ñемени во избежание пеÑÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿Ð°Ð¼ÑÑи.
ÐÑли Ð²Ð°Ñ Ð½Ðµ инÑеÑеÑÑÐµÑ ÑаÑпÑеделение ÑобÑÑий Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð¿Ð¾ пÑоÑеÑÑам, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе пÑиÑвоиÑÑ Ð¿ÐµÑеменной pg_wait_sampling.profile_pid false. Ð ÑÑом ÑлÑÑае знаÑение pid Ð´Ð»Ñ Ð²ÑеÑ
пÑоÑеÑÑов ÑÑиÑаеÑÑÑ ÑавнÑм нÑÐ»Ñ Ð¸ показаÑели ожиданий Ð´Ð»Ñ Ð²ÑеÑ
пÑоÑеÑÑов аккÑмÑлиÑÑÑÑÑÑ Ð²Ð¼ÐµÑÑе.
F.44.3. СпÑавка
F.44.3.1. ÐеÑеменнÑе GUC
Ðоведение ÑаÑÑиÑÐµÐ½Ð¸Ñ pg_wait_sampling наÑÑÑаиваеÑÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ Ð¿ÐµÑеменнÑÑ
GUC. ÐÐ»Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð¿ÐµÑеменнÑÑ
GUC необÑ
одимо имеÑÑ Ð¿Ñава ÑÑпеÑполÑзоваÑелÑ. Так как ÑÑи пеÑеменнÑе наÑ
одÑÑÑÑ Ð² ÑазделÑемой памÑÑи, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе измениÑÑ Ð¸Ñ
из лÑбого подклÑÑениÑ, и ÑÑо повлиÑÐµÑ Ð½Ð° ÑабоÑÑ Ñонового ÑабоÑего пÑоÑеÑÑа pg_wait_sampling.
pg_wait_sampling.history_size(int4)Ð Ð°Ð·Ð¼ÐµÑ Ð±ÑÑеÑа в памÑÑи Ð´Ð»Ñ Ð¸ÑÑоÑии показаний (макÑималÑное ÑиÑло показаний).
Ðо ÑмолÑаниÑ: 5000
pg_wait_sampling.history_period(int4)ÐнÑеÑвал ÑнÑÑÐ¸Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ð¸Ð¹ Ð´Ð»Ñ Ð¸ÑÑоÑии, в миллиÑекÑÐ½Ð´Ð°Ñ .
Ðо ÑмолÑаниÑ: 10
pg_wait_sampling.profile_period(int4)ÐнÑеÑвал ÑнÑÑÐ¸Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ð¸Ð¹ Ð´Ð»Ñ Ð¿ÑоÑилÑ, в миллиÑекÑÐ½Ð´Ð°Ñ .
Ðо ÑмолÑаниÑ: 10
pg_wait_sampling.profile_pid(bool)Режим обÑабоÑки показаний Ð´Ð»Ñ Ð¿ÑоÑÐ¸Ð»Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ð¹. ÐÑли ÑавнÑеÑÑÑ
true, пÑоÑÐ¸Ð»Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ð¹ ÑобиÑаеÑÑÑ Ð¿Ð¾ пÑоÑеÑÑам. ÐÑли задаÑÑ Ð´Ð»Ñpg_wait_sampling.profile_pidзнаÑениеfalse, пÑоÑÐ¸Ð»Ñ Ð±ÑÐ´ÐµÑ ÑобиÑаÑÑÑÑ Ð¿Ð¾ вÑем пÑоÑеÑÑам ÑÑазÑ. Ð ÑÑом ÑлÑÑае знаÑениеpidÐ´Ð»Ñ Ð²ÑÐµÑ Ð¿ÑоÑеÑÑов пÑинимаеÑÑÑ ÑавнÑм нÑÐ»Ñ Ð¸ ÑооÑвеÑÑÑвÑÑÑÐ°Ñ ÑÑÑока в пÑоÑиле оÑÑÐ°Ð¶Ð°ÐµÑ ÑобÑÑÐ¸Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ð²ÑÐµÑ Ð¿ÑоÑеÑÑов.Ðо ÑмолÑаниÑ:
truepg_wait_sampling.profile_queries(bool)Режим обÑабоÑки показаний Ð´Ð»Ñ Ð¿ÑоÑÐ¸Ð»Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ð¹. ÐÑли ÑÑÑановлено знаÑение
false, ÑобиÑаеÑÑÑ Ð¾Ð±Ñий пÑоÑÐ¸Ð»Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ð¹ Ð´Ð»Ñ Ð²ÑÐµÑ Ð·Ð°Ð¿ÑоÑов. Ð ÑÑом ÑлÑÑае знаÑениеqueryidÐ´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ запÑоÑа ÑÑÑанавливаеÑÑÑ ÑавнÑм нÑлÑ, а ÑооÑвеÑÑÑвÑÑÑÐ°Ñ ÑÑÑока ÑодеÑÐ¶Ð¸Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ð¿Ð¾ ÑобÑÑиÑм Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ð²ÑÐµÑ Ð·Ð°Ð¿ÑоÑов. ЧÑÐ¾Ð±Ñ ÑобиÑаÑÑ Ð¿ÑоÑÐ¸Ð»Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ð¹ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ запÑоÑа оÑделÑно, загÑÑзиÑе ÑаÑÑиÑение pg_stat_statements и ÑÑÑановиÑе Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑаpg_wait_sampling.profile_queriesзнаÑениеtrue.Ðо ÑмолÑаниÑ:
true
F.44.3.2. ÐÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ pg_wait_sampling
F.44.3.2.1. ÐÑедÑÑавление pg_wait_sampling_current
ÐÑедÑÑавление pg_wait_sampling_current вÑдаÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ ÑекÑÑиÑ
ÑобÑÑиÑÑ
Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ð²ÑеÑ
пÑоÑеÑÑов, вклÑÑÐ°Ñ ÑоновÑе ÑабоÑие пÑоÑеÑÑÑ.
ТаблиÑа F.27. ÐÑедÑÑавление pg_wait_sampling_current
| ÐÐ¼Ñ ÑÑолбÑа | Тип ÑÑолбÑа | ÐпиÑание |
|---|---|---|
pid | int4 | ÐденÑиÑикаÑÐ¾Ñ Ð¿ÑоÑеÑÑа |
event_type | text | ÐÐ¼Ñ Ñипа ÑобÑÑÐ¸Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ |
event | text | ÐÐ¼Ñ ÑобÑÑÐ¸Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ |
queryid | int8 | ÐденÑиÑикаÑÐ¾Ñ Ð·Ð°Ð¿ÑоÑа |
F.44.3.2.2. ÐÑедÑÑавление pg_wait_sampling_history
ÐÑедÑÑавление pg_wait_sampling_history ÑодеÑÐ¶Ð¸Ñ Ð¸ÑÑоÑÐ¸Ñ ÑобÑÑий ожиданиÑ. ÐÑи даннÑе Ñ
ÑанÑÑÑÑ Ð² колÑÑевом бÑÑеÑе в памÑÑи.
ТаблиÑа F.28. ÐÑедÑÑавление pg_wait_sampling_history
| ÐÐ¼Ñ ÑÑолбÑа | Тип ÑÑолбÑа | ÐпиÑание |
|---|---|---|
pid | int4 | ÐденÑиÑикаÑÐ¾Ñ Ð¿ÑоÑеÑÑа |
ts | timestamptz | ÐÑÐµÐ¼Ñ ÑнÑÑÐ¸Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ð¸Ñ |
event_type | text | ÐÐ¼Ñ Ñипа ÑобÑÑÐ¸Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ |
event | text | ÐÐ¼Ñ ÑобÑÑÐ¸Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ |
queryid | int8 | ÐденÑиÑикаÑÐ¾Ñ Ð·Ð°Ð¿ÑоÑа |
F.44.3.2.3. ÐÑедÑÑавление pg_wait_sampling_profile
ÐÑедÑÑавление pg_wait_sampling_profile ÑодеÑÐ¶Ð¸Ñ Ð¿ÑоÑÐ¸Ð»Ñ ÑобÑÑий ожиданиÑ. ÐÑи даннÑе Ñ
ÑанÑÑÑÑ Ð² виде Ñ
еÑ-ÑаблиÑÑ Ð² памÑÑи.
ТаблиÑа F.29. ÐÑедÑÑавление pg_wait_sampling_profile
| ÐÐ¼Ñ ÑÑолбÑа | Тип ÑÑолбÑа | ÐпиÑание |
|---|---|---|
pid | int4 | ÐденÑиÑикаÑÐ¾Ñ Ð¿ÑоÑеÑÑа |
event_type | text | ÐÐ¼Ñ Ñипа ÑобÑÑÐ¸Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ |
event | text | ÐÐ¼Ñ ÑобÑÑÐ¸Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ |
queryid | int8 | ÐденÑиÑикаÑÐ¾Ñ Ð·Ð°Ð¿ÑоÑа |
count | int8 | ЧиÑло наблÑдений |
F.44.3.3. ФÑнкÑии
pg_wait_sampling_get_current(pidint4)ÐозвÑаÑÐ°ÐµÑ Ð¿ÑедÑÑавление
pg_wait_sampling_currentÑо ÑпиÑком ÑекÑÑÐ¸Ñ ÑобÑÑий ожиданиÑ. ÐÑли Ð²Ñ Ð·Ð°Ð´Ð°Ð´Ð¸Ñе аÑгÑменÑpid, пÑедÑÑавление бÑÐ´ÐµÑ Ð¾ÑÑилÑÑÑовано по пÑоÑеÑÑÑ Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñм иденÑиÑикаÑоÑом.ÐÑгÑменÑÑ:
pidâ ÐеобÑзаÑелÑнÑй паÑамеÑÑ. ÐденÑиÑикаÑÐ¾Ñ Ð¿ÑоÑеÑÑа, Ð´Ð»Ñ ÐºÐ¾ÑоÑого бÑдÑÑ Ð²ÑводиÑÑÑÑ ÑекÑÑие ÑобÑÑÐ¸Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ.
pg_wait_sampling_reset_profile()СбÑаÑÑÐ²Ð°ÐµÑ Ð¿ÑоÑÐ¸Ð»Ñ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ð¹ и оÑиÑÐ°ÐµÑ Ð¿Ð°Ð¼ÑÑÑ.
F.44.4. ÐвÑоÑ
ÐлекÑÐ°Ð½Ð´Ñ ÐоÑоÑков