F.37. pgpro_stats
- F.37.1. ÐгÑаниÑениÑ
- F.37.2. УÑÑановка и подгоÑовка
- F.37.3. ÐÑполÑзование
- F.37.4. ÐÑедÑÑавлениÑ
- F.37.5. Ð¢Ð¸Ð¿Ñ Ð´Ð°Ð½Ð½ÑÑ
- F.37.6. ФÑнкÑии
- F.37.7. ÐаÑамеÑÑÑ ÐºÐ¾Ð½ÑигÑÑаÑии
- F.37.8. ÐеÑÑики аннÑлиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐºÐµÑа
- F.37.9. ÐвÑоÑÑ
- F.37.2. УÑÑановка и подгоÑовка
РаÑÑиÑение pgpro_stats пÑедоÑÑавлÑÐµÑ Ð²Ð¾Ð·Ð¼Ð¾Ð¶Ð½Ð¾ÑÑи Ð´Ð»Ñ ÑбоÑа ÑÑаÑиÑÑики планиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð²ÑеÑ
обÑабаÑÑваемÑÑ
ÑеÑвеÑом SQL-опеÑаÑоÑов. Ðно оÑновано на модÑле pg_stat_statements и ÑеализÑÐµÑ ÑледÑÑÑÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑÑ ÑÑнкÑионалÑноÑÑÑ:
Ð¡Ð¾Ñ Ñанение помимо ÑекÑÑа запÑоÑов ÑооÑвеÑÑÑвÑÑÑÐ¸Ñ Ð¿Ð»Ð°Ð½Ð¾Ð² запÑоÑов.
ÐозможноÑÑÑ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ ÑаÑÑоÑÑ ÑбоÑа ÑÑаÑиÑÑики Ð´Ð»Ñ Ð¾Ð¿ÑимизаÑии ÑвÑзаннÑÑ Ñ Ð½Ð¸Ð¼ издеÑжек.
ÐÑÑиÑление ÑÑаÑиÑÑики по ÑобÑÑиÑм Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð´Ð»Ñ Ð²ÑполнÑемÑÑ Ð·Ð°Ð¿ÑоÑов.
ÐодÑÑÑÑ ÑÑаÑиÑÑики иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑеÑÑÑÑов пÑи вÑполнении опеÑаÑоÑов.
ÐодÑÑÑÑ ÑÑаÑиÑÑики аннÑлиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐºÐµÑа.
ÐÑÑиÑление дополниÑелÑной ÑÑаÑиÑÑики аÑÑ Ð¸Ð²Ð°ÑоÑа.
ÐÑедоÑÑавление возможноÑÑи пÑоÑмоÑÑа ÑÑаÑиÑÑики по оÑиÑÑке баз даннÑÑ , ÑÐ°Ð±Ð»Ð¸Ñ Ð¸ индекÑов, ÑобÑаннÑÑ ÑдÑом ÑиÑÑемÑ.
ТÑаÑÑиÑовка ÑеанÑов пÑиложений.
Создание пÑедÑÑавлений, ÑмÑлиÑÑÑÑÐ¸Ñ Ð´ÑÑгие ÑаÑÑиÑениÑ.
ÐпиÑание Ñипов и пÑедÑÑавлений, оÑобÑажаÑÑÐ¸Ñ ÑÑаÑиÑÑÐ¸ÐºÑ Ð°Ð½Ð½ÑлиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐºÐµÑей, а Ñакже обÑÐ°Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾Ð± ÑÑой ÑÑаÑиÑÑике пÑиводиÑÑÑ Ð² Ñазделе ÐодÑаздел F.37.8.
F.37.1. ÐгÑаниÑениÑ
ÐÑи некоÑоÑÑÑ Ð¾Ð±ÑÑоÑÑелÑÑÑваÑ
pgpro_statsÐ¼Ð¾Ð¶ÐµÑ Ð½Ðµ ÑопоÑÑавиÑÑ Ð¿Ð°ÑамеÑÑÑ Ð² ÑекÑÑе запÑоÑа Ñ Ñеми же паÑамеÑÑами в ÑооÑвеÑÑÑвÑÑÑем плане запÑоÑа.ÐекоÑоÑÑе запÑоÑÑ SPI в ÑÑаÑиÑÑике не ÑÑиÑÑваÑÑÑÑ.
ТекÑÑÑ Ð¸ Ð¿Ð»Ð°Ð½Ñ Ð½ÐµÐºÐ¾ÑоÑÑÑ Ð·Ð°Ð¿ÑоÑов SPI не ноÑмализованÑ.
РаÑÑиÑение
pgpro_statsнеÑовмеÑÑимо Ñ pg_stat_statements, а Ñакже дÑÑгими ÑаÑÑиÑениÑми, вÑÑÑаиваÑÑими Ñвои обÑабоÑÑики в анализаÑоÑ, планиÑовÑик или иÑполниÑÐµÐ»Ñ Ð¸ влиÑÑÑими на ÑазбоÑ, планиÑование или вÑполнение запÑоÑов. Также обÑаÑиÑе внимание, ÑÑо Ð´Ð»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð¾ÐºÐ¾Ð½ÑаÑелÑной веÑÑии запÑоÑов и планов библиоÑекаpgpro_statsдолжна ÑказÑваÑÑÑÑ Ð¿Ð¾Ñледней в ÑпиÑкеshared_preload_libraries, но еÑÑÑ ÑаÑÑиÑениÑ, напÑимеÑ,pg_pathman, коÑоÑÑе ÑабоÑаÑÑ, ÑолÑко еÑли Ð¸Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñека Ñказана поÑледней.pgpro_statsÐ¼Ð¾Ð¶ÐµÑ Ð½Ðµ ÑабоÑаÑÑ ÐºÐ¾ÑÑекÑно Ñо ÑÑоÑонними ÑаÑÑиÑениÑми, добавлÑÑÑими в Ð¿Ð»Ð°Ð½Ñ ÑзлÑCustomScanиForeignScan.Ð ÑекÑÑей веÑÑии ÑÑаÑиÑÑика планиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð½Ðµ ÑобиÑаеÑÑÑ Ð¸ ÑооÑвеÑÑÑвÑÑÑие ÑÑолбÑÑ Ð¿ÑедÑÑавлений ÑодеÑÐ¶Ð°Ñ Ð½Ñли.
F.37.2. УÑÑановка и подгоÑовка
РаÑÑиÑение pgpro_stats вклÑÑено в ÑоÑÑав Postgres Pro Standard, но должно ÑÑÑанавливаÑÑÑÑ Ð¾ÑделÑно. УÑÑановив pgpro_stats, вÑполниÑе ÑледÑÑÑие дейÑÑвиÑ, ÑÑÐ¾Ð±Ñ Ð¿Ð¾Ð´Ð³Ð¾ÑовиÑÑ pgpro_stats к ÑабоÑе:
ÐобавÑÑе
pgpro_statsв паÑамеÑÑ shared_preload_libraries в Ñайлеpostgresql.conf:shared_preload_libraries = 'pgpro_stats'
ÐеÑезапÑÑÑиÑе Postgres Pro Standard, ÑÑÐ¾Ð±Ñ Ð¸Ð·Ð¼ÐµÐ½ÐµÐ½Ð¸Ñ Ð²ÑÑÑпили в ÑилÑ.
Ðогда ÑеÑÐ²ÐµÑ Ð¿ÐµÑезапÑÑÑиÑÑÑ,
pgpro_statsнаÑнÑÑ ÑобиÑаÑÑ ÑÑаÑиÑÑÐ¸ÐºÑ Ð¿Ð¾ вÑем базам даннÑÑ Ð² клаÑÑеÑе. ÐÑи Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе изменÑÑÑ Ð¾Ð±Ð»Ð°ÑÑÑ ÑбоÑа или оÑклÑÑиÑÑ ÐµÐ³Ð¾, воÑполÑзовавÑиÑÑ Ð¿Ð°ÑамеÑÑами конÑигÑÑаÑииpgpro_stats.ÐбÑаÑаÑÑÑÑ Ðº ÑобиÑаемой ÑÑаÑиÑÑике Ð²Ñ ÑможеÑе поÑле Ñого, как ÑоздадиÑе ÑаÑÑиÑение
pgpro_stats:CREATE EXTENSION pgpro_stats;
F.37.3. ÐÑполÑзование
F.37.3.1. Ð¡Ð±Ð¾Ñ ÑÑаÑиÑÑики по опеÑаÑоÑам запÑоÑов и планам
ÐоÑле Ñого как ÑаÑÑиÑение pgpro_stats бÑÐ´ÐµÑ ÑÑÑановлено, оно наÑнÑÑ ÑобиÑаÑÑ ÑÑаÑиÑÑÐ¸ÐºÑ Ð¿Ð¾ вÑполнÑемÑм опеÑаÑоÑам. СобиÑаемÑе даннÑе во многом пеÑеÑекаÑÑÑÑ Ñ Ñеми, ÑÑо ÑобиÑÐ°ÐµÑ pg_stat_statements, но Ñакже вклÑÑаÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ планаÑ
запÑоÑов и ÑобÑÑиÑÑ
Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ Ñипа запÑоÑа. ÐолÑÑÐµÐ½Ð½Ð°Ñ ÑÑаÑиÑÑика ÑоÑ
ÑанÑеÑÑÑ Ð² колÑÑевом бÑÑеÑе в памÑÑи, а пÑоÑиÑаÑÑ ÐµÑ Ð¼Ð¾Ð¶Ð½Ð¾ ÑеÑез пÑедÑÑавление pgpro_stats_statements.
Ðо ÑмолÑÐ°Ð½Ð¸Ñ pgpro_stats ÑобиÑÐ°ÐµÑ ÑÑаÑиÑÑÐ¸ÐºÑ Ð¿Ð¾ вÑем опеÑаÑоÑам, Ñ ÑÑÑÑом знаÑений паÑамеÑÑов pgpro_stats.track и pgpro_stats.track_utility. Ðднако в ÑелÑÑ
опÑимизаÑии пÑоизводиÑелÑноÑÑи Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе ÑменÑÑиÑÑ ÑаÑÑоÑÑ Ð²ÑбоÑки, воÑполÑзовавÑиÑÑ Ð¿Ð°ÑамеÑÑом pgpro_stats.query_sample_rate, и Ñогда pgpro_stats Ð´Ð»Ñ Ð²ÑÑиÑÐ»ÐµÐ½Ð¸Ñ ÑÑаÑиÑÑики бÑÐ´ÐµÑ ÑлÑÑайнÑм обÑазом вÑбиÑаÑÑ Ð·Ð°Ð´Ð°Ð½Ð½ÑÑ Ð´Ð¾Ð»Ñ Ð·Ð°Ð¿ÑоÑов из обÑего колиÑеÑÑва.
ÐÐ»Ñ ÑбоÑа ÑÑаÑиÑÑики по ÑобÑÑиÑм Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ pgpro_stats пÑÐ¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ Ð²ÑбоÑки Ñ Ð¾Ð¿ÑеделÑнной пеÑиодиÑноÑÑÑÑ. ÐÑа пеÑиодиÑноÑÑÑ Ð·Ð°Ð´Ð°ÑÑÑÑ Ð¿Ð°ÑамеÑÑом pgpro_stats.profile_period и по ÑмолÑÐ°Ð½Ð¸Ñ Ñавна 10 мÑ. ÐÑли вÑбоÑка показÑваеÑ, ÑÑо пÑоÑеÑÑ Ð½Ð°Ñ
одиÑÑÑ Ð² ÑоÑÑоÑнии ожиданиÑ, к обÑей длиÑелÑноÑÑи Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ ÑобÑÑÐ¸Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÑеÑÑÑ Ð·Ð½Ð°Ñение pgpro_stats.profile_period. Таким обÑазом, оÑенка длиÑелÑноÑÑи Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð¾ÑÑаÑÑÑÑ ÐºÐ¾ÑÑекÑной даже пÑи изменениÑÑ
знаÑÐµÐ½Ð¸Ñ pgpro_stats.profile_period. ÐÑли Ð²Ð°Ñ Ð½Ðµ инÑеÑеÑÑÐµÑ ÑÑаÑиÑÑика по ÑобÑÑиÑм ожиданиÑ, ÑÐ±Ð¾Ñ ÑÑой инÑоÑмаÑии можно оÑклÑÑиÑÑ, ÑÑÑановив Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа pgpro_stats.enable_profile знаÑение false.
ÐоказаÑели pgpro_stats_statements.plans и pgpro_stats_statements.calls не обÑзаÑелÑно Ð´Ð¾Ð»Ð¶Ð½Ñ ÑовпадаÑÑ, Ñак как ÑÑаÑиÑÑика планиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¾Ð±Ð½Ð¾Ð²Ð»ÑеÑÑÑ Ð² конÑе ÑооÑвеÑÑÑвÑÑÑей ÑÐ°Ð·Ñ Ð¸ ÑолÑко пÑи ÑÑпеÑном завеÑÑении ÑÑой ÑазÑ. ÐапÑимеÑ, еÑли Ð´Ð»Ñ Ð¾Ð¿ÐµÑаÑоÑа ÑÑпеÑно вÑполнилоÑÑ Ð¿Ð»Ð°Ð½Ð¸Ñование, но во вÑÐµÐ¼Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¿ÑоизоÑла оÑибка, измениÑÑÑ ÑолÑко ÑÑаÑиÑÑика планиÑованиÑ. ÐÑли же планиÑование пÑопÑÑкаеÑÑÑ Ð¿Ð¾ пÑиÑине иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐµÑиÑованного плана, ÑвелиÑиваеÑÑÑ ÑолÑко ÑÑÑÑÑик вÑполнениÑ.
ÐапÑимеÑ, давайÑе Ñоздадим ÑаблиÑÑ Ñо ÑлÑÑайнÑми даннÑми и поÑÑÑоим в ней индекÑ:
CREATE TABLE test AS (SELECT i, random() x FROM generate_series(1,1000000) i); CREATE INDEX test_x_idx ON test (x);
ÐÑполниÑе неÑколÑко Ñаз ÑледÑÑÑий запÑÐ¾Ñ Ñ ÑазлиÑнÑми знаÑениÑми :x_min и :x_max:
select * from test where x >= :x_min and x <= :x_max;
ÐоÑле ÑÑого ÑобÑÐ°Ð½Ð½Ð°Ñ ÑÑаÑиÑÑика должна поÑвиÑÑÑÑ Ð² пÑедÑÑавлении pgpro_stats_statements:
SELECT queryid, query, planid, plan, wait_stats FROM pgpro_stats_statements WHERE query LIKE 'select * from test where%';
-[ RECORD 1 ]----------------------------------------------------------------------------------------------------------
queryid | 1109491335754870054
query | select * from test where x >= $1 and x <= $2
planid | 8287793242828473388
plan | Gather
| Output: i, x
| Workers Planned: 2
| -> Parallel Seq Scan on public.test
| Output: i, x
| Filter: ((test.x >= $3) AND (test.x <= $4))
|
wait_stats | {"IO": {"DataFileRead": 10}, "IPC": {"BgWorkerShutdown": 10}, "Total": {"IO": 10, "IPC": 10, "Total": 20}}
-[ RECORD 2 ]----------------------------------------------------------------------------------------------------------
queryid | 1109491335754870054
query | select * from test where x >= $1 and x <= $2
planid | -9045072158333552619
plan | Bitmap Heap Scan on public.test
| Output: i, x
| Recheck Cond: ((test.x >= $3) AND (test.x <= $4))
| -> Bitmap Index Scan on test_x_idx
| Index Cond: ((test.x >= $5) AND (test.x <= $6))
|
wait_stats | {"IO": {"DataFileRead": 40}, "Total": {"IO": 40, "Total": 40}}
-[ RECORD 3 ]----------------------------------------------------------------------------------------------------------
queryid | 1109491335754870054
query | select * from test where x >= $1 and x <= $2
planid | -1062789671372193287
plan | Seq Scan on public.test
| Output: i, x
| Filter: ((test.x >= $3) AND (test.x <= $4))
|
wait_stats | NULL
-[ RECORD 4 ]----------------------------------------------------------------------------------------------------------
queryid | 1109491335754870054
query | select * from test where x >= $1 and x <= $2
planid | -1748292253893834280
plan | Index Scan using test_x_idx on public.test
| Output: i, x
| Index Cond: ((test.x >= $3) AND (test.x <= $4))
|
wait_stats | NULLF.37.3.2. Ð¡Ð±Ð¾Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑÑ Ð¼ÐµÑÑик
ÐÑполÑзÑÑ pgpro_stats, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе опÑеделиÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑе инÑеÑеÑÑÑÑие Ð²Ð°Ñ Ð¼ÐµÑÑики. СобиÑаемÑе даннÑе бÑдÑÑ Ð½Ð°ÐºÐ°Ð¿Ð»Ð¸Ð²Ð°ÑÑÑÑ Ð² колÑÑевом бÑÑеÑе Ð´Ð»Ñ Ð¿Ð¾ÑледÑÑÑей пеÑедаÑи иÑ
в ÑиÑÑÐµÐ¼Ñ Ð¼Ð¾Ð½Ð¸ÑоÑинга. ÐÑÐ¾Ñ Ð¿Ð¾Ð´Ñ
од лÑÑÑе, Ñем непоÑÑедÑÑвеннÑй опÑÐ¾Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
ÑиÑÑемой мониÑоÑинга, Ñак как в ÑлÑÑае кÑаÑковÑеменного пÑеÑÑÐ²Ð°Ð½Ð¸Ñ ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÑобÑаннÑе даннÑе не бÑдÑÑ Ð¿Ð¾ÑеÑÑнÑ, а ÑоÑ
ÑанÑÑÑÑ Ð² бÑÑеÑе и могÑÑ Ð±ÑÑÑ ÑÑиÑÐ°Ð½Ñ Ð¿Ð¾Ð·Ð´Ð½ÐµÐµ.
ЧÑÐ¾Ð±Ñ Ð½Ð°ÑÑÑоиÑÑ ÑÐ±Ð¾Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑной меÑÑики, вÑполниÑе ÑледÑÑÑее:
ÐÐ»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ меÑÑики Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ опÑеделиÑÑ Ð²Ñе паÑамеÑÑÑ ÐºÐ¾Ð½ÑигÑÑаÑии, пеÑеÑиÑленнÑе в ÐодÑазделе F.37.7.2. Ð Ð¸Ð¼ÐµÐ½Ð°Ñ Ð¿Ð°ÑамеÑÑов должен пÑиÑÑÑÑÑвоваÑÑ ÑникалÑнÑй иденÑиÑикаÑÐ¾Ñ (номеÑ) меÑÑики.
ÐапÑимеÑ, ÑÑÐ¾Ð±Ñ Ñаз в 60 ÑекÑнд ÑобиÑаÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ ÑаздÑвании индекÑов, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе опÑеделиÑÑ Ð¿ÐµÑвÑÑ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑÑ Ð¼ÐµÑÑикÑ, ÑÑÑановив ÑооÑвеÑÑÑвÑÑÑие паÑамеÑÑÑ ÑледÑÑÑим обÑазом:
pgpro_stats.metric_1_name = index_bloat pgpro_stats.metric_1_query = 'select iname, ibloat, ipages from bloat' pgpro_stats.metric_1_db = 'postgres' pgpro_stats.metric_1_user = postgres pgpro_stats.metric_1_period = '60s'
ÐеÑезапÑÑÑиÑе ÑеÑвеÑ.
pgpro_statsнаÑÐ¸Ð½Ð°ÐµÑ ÑобиÑаÑÑ ÑÑаÑиÑÑÐ¸ÐºÑ Ð¿Ð¾ вÑполнÑемÑм опеÑаÑоÑам и ÑÐ¾Ñ ÑанÑÐµÑ ÐµÑ Ð² колÑÑевом бÑÑеÑе; ÑобÑÐ°Ð½Ð½Ð°Ñ ÑÑаÑиÑÑика поÑвлÑеÑÑÑ Ð² пÑедÑÑавленииpgpro_stats_metrics:SELECT * FROM pgpro_stats_metrics;
Ðогда меÑÑика Ñже добавлена, ÐµÑ Ð¿Ð°ÑамеÑÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ изменÑÑÑ Ð±ÐµÐ· пеÑезапÑÑка ÑеÑвеÑа, пÑоÑÑо пеÑезагÑÑÐ¶Ð°Ñ Ñайл конÑигÑÑаÑии
postgresql.conf.ÐÑи Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи наÑÑÑойÑе ÑкÑпоÑÑ Ð´Ð°Ð½Ð½ÑÑ Ð² ÑиÑÑÐµÐ¼Ñ Ð¼Ð¾Ð½Ð¸ÑоÑинга, коÑоÑÑÑ Ð²Ñ Ð¸ÑполÑзÑеÑе.
F.37.4. ÐÑедÑÑавлениÑ
F.37.4.1. ÐÑедÑÑавление pgpro_stats_statements
СÑаÑиÑÑика, ÑобиÑÐ°ÐµÐ¼Ð°Ñ Ð¼Ð¾Ð´Ñлем, вÑдаÑÑÑÑ ÑеÑез пÑедÑÑавление Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ pgpro_stats_statements. ÐÑо пÑедÑÑавление ÑодеÑÐ¶Ð¸Ñ Ð¾ÑделÑнÑе ÑÑÑоки Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ комбинаÑии иденÑиÑикаÑоÑа Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
, иденÑиÑикаÑоÑа полÑзоваÑÐµÐ»Ñ Ð¸ иденÑиÑикаÑоÑа запÑоÑа (но в колиÑеÑÑве, не пÑевÑÑаÑÑем макÑималÑное ÑиÑло ÑазлиÑнÑÑ
опеÑаÑоÑов, коÑоÑÑе Ð¼Ð¾Ð¶ÐµÑ Ð¾ÑÑлеживаÑÑ Ð¼Ð¾Ð´ÑлÑ). СÑолбÑÑ Ð¿ÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ñ Ð² ТаблиÑе F.91.
ТаблиÑа F.91. СÑолбÑÑ pgpro_stats_statements
| Name | Тип | СÑÑлки | ÐпиÑание |
|---|---|---|---|
userid | oid | | OID полÑзоваÑелÑ, вÑполнÑвÑего опеÑаÑÐ¾Ñ |
dbid | oid | | OID Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , в коÑоÑой вÑполнÑлÑÑ Ð¾Ð¿ÐµÑаÑÐ¾Ñ |
toplevel | bool |  | True, еÑли даннÑй запÑÐ¾Ñ Ð²ÑполнÑлÑÑ Ð½Ð° веÑÑ
нем ÑÑовне (вÑегда true, еÑли Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑа pgpro_stats.track задано знаÑение top) |
queryid | bigint |  | ÐнÑÑÑенний Ñ ÐµÑ-код, вÑÑиÑленнÑй Ð´Ð»Ñ Ð´ÐµÑева ÑазбоÑа опеÑаÑоÑа |
planid | bigint |  | ÐнÑÑÑенний Ñ ÐµÑ-код, вÑÑиÑленнÑй Ð´Ð»Ñ Ð´ÐµÑева плана опеÑаÑоÑа |
query | text |  | ТекÑÑ, пÑедÑÑавлÑÑÑий опеÑаÑÐ¾Ñ |
plan | text |  | Ðлан запÑоÑа, пÑедÑÑавленнÑй в ÑоÑмаÑе, опÑеделÑнном паÑамеÑÑом конÑигÑÑаÑии pgpro_stats.plan_format |
plans | int8 |  | ЧиÑло опеÑаÑий планиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑÑого опеÑаÑоÑа (еÑли вклÑÑÑн паÑамеÑÑ pgpro_stats.track_planning, инаÑе 0). Ð ÑекÑÑей веÑÑии вÑегда 0. |
total_plan_time | float8 |  | ÐбÑее вÑемÑ, заÑÑаÑенное на планиÑование ÑÑого опеÑаÑоÑа в миллиÑекÑндаÑ
(еÑли вклÑÑÑн паÑамеÑÑ pgpro_stats.track_planning, инаÑе 0). Ð ÑекÑÑей веÑÑии вÑегда 0. |
min_plan_time | float8 |  | ÐинималÑное вÑемÑ, заÑÑаÑенное на планиÑование ÑÑого опеÑаÑоÑа в миллиÑекÑндаÑ
(еÑли вклÑÑÑн паÑамеÑÑ pgpro_stats.track_planning, инаÑе 0). Ð ÑекÑÑей веÑÑии вÑегда 0. |
max_plan_time | float8 |  | ÐакÑималÑное вÑемÑ, заÑÑаÑенное на планиÑование ÑÑого опеÑаÑоÑа в миллиÑекÑндаÑ
(еÑли вклÑÑÑн паÑамеÑÑ pgpro_stats.track_planning, инаÑе 0). Ð ÑекÑÑей веÑÑии вÑегда 0. |
mean_plan_time | float8 |  | СÑеднее вÑемÑ, заÑÑаÑенное на планиÑование ÑÑого опеÑаÑоÑа в миллиÑекÑндаÑ
(еÑли вклÑÑÑн паÑамеÑÑ pgpro_stats.track_planning, инаÑе 0). Ð ÑекÑÑей веÑÑии вÑегда 0. |
stddev_plan_time | float8 |  | СÑандаÑÑное оÑклонение вÑемени, заÑÑаÑенного на планиÑование ÑÑого опеÑаÑоÑа в миллиÑекÑндаÑ
(еÑли вклÑÑÑн паÑамеÑÑ pgpro_stats.track_planning, инаÑе 0). Ð ÑекÑÑей веÑÑии вÑегда 0. |
plan_rusage | pgpro_stats_rusage |  | СÑаÑиÑÑика иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑеÑÑÑÑов пÑи планиÑовании опеÑаÑоÑа. Ð ÑекÑÑей веÑÑии ÑодеÑÐ¶Ð¸Ñ Ð½Ñли. |
calls | int8 |  | СÑÑÑÑик вÑполнений данного опеÑаÑоÑа |
total_exec_time | float8 |  | ÐбÑее вÑемÑ, заÑÑаÑенное на вÑполнение опеÑаÑоÑа, в миллиÑекÑÐ½Ð´Ð°Ñ |
min_exec_time | float8 |  | ÐинималÑное вÑемÑ, поÑÑаÑенное на вÑполнение опеÑаÑоÑа, в миллиÑекÑÐ½Ð´Ð°Ñ |
max_exec_time | float8 |  | ÐакÑималÑное вÑемÑ, поÑÑаÑенное на вÑполнение опеÑаÑоÑа, в миллиÑекÑÐ½Ð´Ð°Ñ |
mean_exec_time | float8 |  | СÑеднее вÑемÑ, поÑÑаÑенное на вÑполнение опеÑаÑоÑа, в миллиÑекÑÐ½Ð´Ð°Ñ |
stddev_exec_time | float8 |  | СÑандаÑÑное оÑклонение вÑемени, заÑÑаÑенного на вÑполнение опеÑаÑоÑа, в миллиÑекÑÐ½Ð´Ð°Ñ |
exec_rusage | pgpro_stats_rusage |  | СÑаÑиÑÑика иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑеÑÑÑÑов пÑи вÑполнении опеÑаÑоÑа. |
rows | int8 |  | ÐбÑее ÑиÑло ÑÑÑок, полÑÑеннÑÑ Ð¸Ð»Ð¸ заÑÑонÑÑÑÑ Ð¾Ð¿ÐµÑаÑоÑом |
shared_blks_hit | int8 |  | ÐбÑее ÑиÑло попаданий ÑазделÑемÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð² в ÐºÐµÑ Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ опеÑаÑоÑа |
shared_blks_read | int8 |  | ÐбÑее ÑиÑло ÑазделÑемÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², пÑоÑиÑаннÑÑ Ð´Ð°Ð½Ð½Ñм опеÑаÑоÑом |
shared_blks_dirtied | int8 |  | ÐбÑее ÑиÑло ÑазделÑемÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², «загÑÑзнÑннÑÑ Â» даннÑм опеÑаÑоÑом |
shared_blks_written | int8 |  | ÐбÑее ÑиÑло ÑазделÑемÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², запиÑаннÑÑ Ð´Ð°Ð½Ð½Ñм опеÑаÑоÑом |
local_blks_hit | int8 |  | ÐбÑее ÑиÑло попаданий локалÑнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð² в ÐºÐµÑ Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ опеÑаÑоÑа |
local_blks_read | int8 |  | ÐбÑее ÑиÑло локалÑнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², пÑоÑиÑаннÑÑ Ð´Ð°Ð½Ð½Ñм опеÑаÑоÑом |
local_blks_dirtied | int8 |  | ÐбÑее ÑиÑло локалÑнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², «загÑÑзнÑннÑÑ Â» даннÑм опеÑаÑоÑом |
local_blks_written | int8 |  | ÐбÑее ÑиÑло локалÑнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², запиÑаннÑÑ Ð´Ð°Ð½Ð½Ñм опеÑаÑоÑом |
temp_blks_read | int8 |  | ÐбÑее ÑиÑло вÑеменнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², пÑоÑиÑаннÑÑ Ð´Ð°Ð½Ð½Ñм опеÑаÑоÑом |
temp_blks_written | int8 |  | ÐбÑее ÑиÑло вÑеменнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², запиÑаннÑÑ Ð´Ð°Ð½Ð½Ñм опеÑаÑоÑом |
shared_blk_read_time | float8 |  | ÐбÑее вÑемÑ, заÑÑаÑенное опеÑаÑоÑом на ÑÑение ÑазделÑемÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², в миллиÑекÑÐ½Ð´Ð°Ñ (еÑли вклÑÑÑн track_io_timing, инаÑе нолÑ) |
shared_blk_write_time | float8 |  | ÐбÑее вÑемÑ, заÑÑаÑенное опеÑаÑоÑом на запиÑÑ ÑазделÑемÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², в миллиÑекÑÐ½Ð´Ð°Ñ (еÑли вклÑÑÑн track_io_timing, инаÑе нолÑ) |
local_blk_read_time | float8 |  | ÐбÑее вÑемÑ, заÑÑаÑенное опеÑаÑоÑом на ÑÑение локалÑнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², в миллиÑекÑÐ½Ð´Ð°Ñ (еÑли вклÑÑÑн track_io_timing, или Ð½Ð¾Ð»Ñ Ð² пÑоÑивном ÑлÑÑае). РвеÑÑиÑÑ Postgres Pro ниже 17 вÑегда ÑодеÑÐ¶Ð¸Ñ Ð½Ð¾Ð»Ñ. |
local_blk_write_time | float8 |  | ÐбÑее вÑемÑ, заÑÑаÑенное опеÑаÑоÑом на запиÑÑ Ð»Ð¾ÐºÐ°Ð»ÑнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², в миллиÑекÑÐ½Ð´Ð°Ñ (еÑли вклÑÑÑн track_io_timing, или Ð½Ð¾Ð»Ñ Ð² пÑоÑивном ÑлÑÑае). РвеÑÑиÑÑ Postgres Pro ниже 17 вÑегда ÑодеÑÐ¶Ð¸Ñ Ð½Ð¾Ð»Ñ. |
temp_blk_read_time | float8 |  | ÐбÑее вÑемÑ, заÑÑаÑенное опеÑаÑоÑом на ÑÑение вÑеменнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², в миллиÑекÑÐ½Ð´Ð°Ñ (еÑли вклÑÑÑн track_io_timing, или Ð½Ð¾Ð»Ñ Ð² пÑоÑивном ÑлÑÑае). РвеÑÑиÑÑ Postgres Pro ниже 15 вÑегда ÑодеÑÐ¶Ð¸Ñ Ð½Ð¾Ð»Ñ. |
temp_blk_write_time | float8 |  | ÐбÑее вÑемÑ, заÑÑаÑенное опеÑаÑоÑом на запиÑÑ Ð²ÑеменнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², в миллиÑекÑÐ½Ð´Ð°Ñ (еÑли вклÑÑÑн track_io_timing, или Ð½Ð¾Ð»Ñ Ð² пÑоÑивном ÑлÑÑае). РвеÑÑиÑÑ Postgres Pro ниже 15 вÑегда ÑодеÑÐ¶Ð¸Ñ Ð½Ð¾Ð»Ñ. |
wal_records | int8 |  | ÐбÑее ÑиÑло запиÑей WAL, ÑгенеÑиÑованнÑÑ Ð¿Ñи вÑполнении опеÑаÑоÑов. Ð ÑекÑÑей веÑÑии вÑегда 0. |
wal_fpi | int8 |  | ÐбÑее ÑиÑло обÑазов полнÑÑ ÑÑÑÐ°Ð½Ð¸Ñ Ð² WAL, ÑгенеÑиÑованнÑÑ Ð¿Ñи вÑполнении опеÑаÑоÑов. Ð ÑекÑÑей веÑÑии вÑегда 0. |
wal_bytes | numeric |  | ÐбÑий обÑÑм WAL (в байÑÐ°Ñ ), ÑгенеÑиÑованнÑй пÑи вÑполнении опеÑаÑоÑов. Ð ÑекÑÑей веÑÑии вÑегда 0. |
jit_functions | int8 |  | ÐбÑее ÑиÑло ÑÑнкÑий, ÑкомпилиÑованнÑÑ Ð² JIT-код пÑи вÑполнении опеÑаÑоÑа. РвеÑÑиÑÑ Postgres Pro ниже 15 вÑегда ÑодеÑÐ¶Ð¸Ñ Ð½Ð¾Ð»Ñ. |
jit_generation_time | float8 |  | ÐбÑее вÑемÑ, заÑÑаÑенное на компилÑÑÐ¸Ñ JIT-кода пÑи вÑполнении опеÑаÑоÑа, в миллиÑекÑÐ½Ð´Ð°Ñ . РвеÑÑиÑÑ Postgres Pro ниже 15 вÑегда ÑодеÑÐ¶Ð¸Ñ Ð½Ð¾Ð»Ñ. |
jit_inlining_count | int8 |  | ÐолиÑеÑÑво вÑÑÑаиваний ÑÑнкÑий, иÑполÑзÑемÑÑ Ð² опеÑаÑоÑе. РвеÑÑиÑÑ Postgres Pro ниже 15 вÑегда ÑодеÑÐ¶Ð¸Ñ Ð½Ð¾Ð»Ñ. |
jit_inlining_time | float8 |  | ÐбÑее вÑемÑ, заÑÑаÑенное на вÑÑÑаивание ÑÑнкÑий пÑи вÑполнении опеÑаÑоÑа, в миллиÑекÑÐ½Ð´Ð°Ñ . РвеÑÑиÑÑ Postgres Pro ниже 15 вÑегда ÑодеÑÐ¶Ð¸Ñ Ð½Ð¾Ð»Ñ. |
jit_optimization_count | int8 |  | ÐолиÑеÑÑво JIT-опÑимизаÑий Ð´Ð»Ñ Ð¾Ð¿ÐµÑаÑоÑа. РвеÑÑиÑÑ Postgres Pro ниже 15 вÑегда ÑодеÑÐ¶Ð¸Ñ Ð½Ð¾Ð»Ñ. |
jit_optimization_time | float8 |  | ÐбÑее вÑемÑ, заÑÑаÑенное на JIT-опÑимизаÑÐ¸Ñ Ð¿Ñи вÑполнении опеÑаÑоÑа, в миллиÑекÑÐ½Ð´Ð°Ñ . РвеÑÑиÑÑ Postgres Pro ниже 15 вÑегда ÑодеÑÐ¶Ð¸Ñ Ð½Ð¾Ð»Ñ. |
jit_emission_count | int8 |  | СколÑко Ñаз вÑдавалÑÑ ÐºÐ¾Ð´ пÑи вÑполнении опеÑаÑоÑа. РвеÑÑиÑÑ Postgres Pro ниже 15 вÑегда ÑодеÑÐ¶Ð¸Ñ Ð½Ð¾Ð»Ñ. |
jit_emission_time | float8 |  | ÐбÑее вÑемÑ, заÑÑаÑенное на вÑдаÑÑ ÐºÐ¾Ð´Ð° пÑи вÑполнении опеÑаÑоÑа, в миллиÑекÑÐ½Ð´Ð°Ñ . РвеÑÑиÑÑ Postgres Pro ниже 15 вÑегда ÑодеÑÐ¶Ð¸Ñ Ð½Ð¾Ð»Ñ. |
jit_deform_count | int8 |  | ÐбÑее ÑиÑло ÑÑнкÑий пÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾ÑÑежей, ÑкомпилиÑованнÑÑ Ð² JIT-код пÑи вÑполнении опеÑаÑоÑа. РвеÑÑиÑÑ Postgres Pro ниже 17 вÑегда ÑодеÑÐ¶Ð¸Ñ Ð½Ð¾Ð»Ñ. |
jit_deform_time | float8 |  | ÐбÑее вÑемÑ, заÑÑаÑенное опеÑаÑоÑом на компилиÑование ÑÑнкÑий пÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾ÑÑежей в JIT-код, в миллиÑекÑÐ½Ð´Ð°Ñ . РвеÑÑиÑÑ Postgres Pro ниже 17 вÑегда ÑодеÑÐ¶Ð¸Ñ Ð½Ð¾Ð»Ñ. |
wait_stats | jsonb |  | ÐбÑÐµÐºÑ Ñипа jsonb, ÑодеÑжаÑий ÑÑаÑиÑÑÐ¸ÐºÑ Ð¿Ð¾ ÑобÑÑиÑм Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿ÑоÑа по ÑооÑвеÑÑÑвÑÑÑÐµÐ¼Ñ Ð¿Ð»Ð°Ð½Ñ. ÐÑе показаÑели пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ñ Ð² миллиÑекÑндаÑ
и кÑаÑÐ½Ñ Ð¿Ð°ÑамеÑÑÑ ÐºÐ¾Ð½ÑигÑÑаÑии pgpro_stats.profile_period. |
inval_msgs | pgpro_stats_inval_msgs |  | ЧиÑло ÑообÑений аннÑлиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐºÐµÑа по Ñипам, вÑданнÑÑ Ð¿Ñи вÑполнении опеÑаÑоÑа (еÑли ÑÑо поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑеÑвеÑ, инаÑе â 0). |
stats_since | timestamp with time zone |  | ÐÑÐµÐ¼Ñ Ð½Ð°Ñала ÑбоÑа ÑÑаÑиÑÑики по ÑÑÐ¾Ð¼Ñ Ð¾Ð¿ÐµÑаÑоÑÑ |
minmax_stats_since | timestamp with time zone |  | ÐÑÐµÐ¼Ñ Ð½Ð°Ñала ÑбоÑа ÑÑаÑиÑÑики минималÑнÑÑ
/макÑималÑнÑÑ
знаÑений по ÑÑÐ¾Ð¼Ñ Ð¾Ð¿ÐµÑаÑоÑÑ (ÑÑолбÑÑ min_plan_time, max_plan_time, min_exec_time и max_exec_time) |
ÐналогиÑно ÑаÑÑиÑÐµÐ½Ð¸Ñ pg_stat_statements, DML запÑоÑÑ (Ñо еÑÑÑ SELECT, INSERT, UPDATE, DELETE и MERGE) в pgpro_stats обÑединÑÑÑÑÑ Ð² Ð¾Ð´Ð½Ñ Ð·Ð°Ð¿Ð¸ÑÑ, когда они имеÑÑ Ð¸Ð´ÐµÐ½ÑиÑнÑе ÑÑÑÑкÑÑÑÑ Ð·Ð°Ð¿ÑоÑов ÑоглаÑно внÑÑÑÐµÐ½Ð½ÐµÐ¼Ñ Ð²ÑÑиÑÐ»ÐµÐ½Ð½Ð¾Ð¼Ñ Ñ
еÑÑ. ÐбÑÑно два запÑоÑа бÑдÑÑ ÑÑиÑаÑÑÑÑ ÑавнÑми пÑи Ñаком ÑÑавнении, еÑли они ÑеманÑиÑеÑки ÑавнознаÑнÑ, не ÑÑиÑÐ°Ñ Ð·Ð½Ð°Ñений конÑÑанÑ, ÑигÑÑиÑÑÑÑиÑ
в запÑоÑе. Ðднако ÑлÑжебнÑе ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ (Ñо еÑÑÑ Ð²Ñе дÑÑгие командÑ) ÑÑавниваÑÑÑÑ ÑÑÑого по ÑекÑÑовÑм ÑÑÑокам запÑоÑов. Ðогда знаÑение конÑÑанÑÑ Ð¸Ð³Ð½Ð¾ÑиÑÑеÑÑÑ Ð² ÑелÑÑ
ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿ÑоÑа Ñ Ð´ÑÑгими запÑоÑами, ÑÑа конÑÑанÑа заменÑеÑÑÑ Ð² вÑводе pgpro_stats обознаÑением паÑамеÑÑа, напÑимеÑ, $k, где k - наÑÑÑалÑное ÑиÑло. ÐÑли в запÑоÑе Ñже еÑÑÑ Ð¿Ð°ÑамеÑÑÑ, Ñо наÑалÑное знаÑение k Ñавно номеÑÑ, ÑледÑÑÑим за номеÑом поÑледнего паÑамеÑÑа $n в иÑÑ
одном ÑекÑÑе запÑоÑа. ÐÑли паÑамеÑÑов неÑ, Ñо наÑалÑное знаÑение k Ñавно единиÑе. СÑÐ¾Ð¸Ñ Ð¾ÑмеÑиÑÑ, ÑÑо в некоÑоÑÑÑ
ÑлÑÑаÑÑ
на ÑÑÑ Ð½ÑмеÑаÑÐ¸Ñ Ð¼Ð¾Ð³ÑÑ Ð²Ð»Ð¸ÑÑÑ ÑкÑÑÑÑе ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð¿Ð°ÑамеÑÑов. ÐапÑимеÑ, PL/pgSQL пÑименÑÐµÑ Ñакие ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð´Ð»Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð² запÑоÑÑ Ð·Ð½Ð°Ñений локалÑнÑÑ
пеÑеменнÑÑ
ÑÑнкÑий, Ñак ÑÑо опеÑаÑÐ¾Ñ PL/pgSQL вида SELECT i + 1 INTO j бÑÐ´ÐµÑ Ð¿ÑедÑÑавлен в ÑекÑÑе как SELECT i + $2.
ÐодобнÑй Ð¼ÐµÑ Ð°Ð½Ð¸Ð·Ð¼ обÑÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ ÑекÑÑов pgpro_stats иÑполÑзÑÐµÑ Ð¸ Ð´Ð»Ñ ÑекÑÑов планов. ÐÑи ÑÑом делаеÑÑÑ Ð¿Ð¾Ð¿ÑÑка ÑопоÑÑавиÑÑ Ð½Ð¾Ð¼ÐµÑа конÑÑÐ°Ð½Ñ Ð² ÑекÑÑе плана ÑооÑвеÑÑÑвÑÑÑим номеÑам конÑÑÐ°Ð½Ñ Ð² ÑекÑÑе запÑоÑа. ÐÑли ÑÐ°ÐºÐ°Ñ Ð¿Ð¾Ð¿ÑÑка Ð´Ð»Ñ ÐºÐ°ÐºÐ¾Ð¹-либо конÑÑанÑÑ Ð² ÑекÑÑе плана оканÑиваеÑÑÑ Ð½ÐµÑдаÑей, Ñо ей пÑиÑваиваеÑÑÑ ÑледÑÑÑий номеÑ, болÑÑий макÑималÑного номеÑа заменÑнной конÑÑанÑÑ Ð² ÑекÑÑе запÑоÑа. ÐапÑимеÑ, Ð´Ð»Ñ Ð·Ð°Ð¿ÑоÑа:
SELECT 1::int, 'abc'::VARCHAR(3), 2::int;
в его ÑекÑÑе и в ÑекÑÑе ÑооÑвеÑÑÑвÑÑÑего плана pgpro_stats подÑÑÐ°Ð²Ð¸Ñ Ð½Ð¾Ð¼ÐµÑа конÑÑÐ°Ð½Ñ ÑледÑÑÑим обÑазом:
postgres=# SELECT query, plan FROM pgpro_stats_statements;
query | plan
------------------------------------------------+--------------------------------------------------
SELECT $1::int, $2::VARCHAR(3), $3::int | Result +
| Output: $1, $4, $3 +Рданном ÑекÑÑе плана ÑдалоÑÑ ÑопоÑÑавиÑÑ ÐºÐ¾Ð½ÑÑанÑÑ Ñ Ð½Ð¾Ð¼ÐµÑами 1 и 3 из ÑекÑÑа запÑоÑа, а конÑÑанÑÑ Ñ Ð½Ð¾Ð¼ÐµÑом 2 ÑопоÑÑавиÑÑ Ð½Ðµ ÑдалоÑÑ, и она бÑла заменена номеÑом, ÑледÑÑÑим за макÑималÑнÑм номеÑом в ÑекÑÑе запÑоÑа â номеÑом 4.
ÐÑи подÑÑановке номеÑов в ÑеÑÑе плана делаеÑÑÑ Ð¸ÑклÑÑение Ð´Ð»Ñ Ð½Ð¾Ð¼ÐµÑа веÑÑии XML докÑменÑа. ÐÑли в иÑÑ
одном запÑоÑе он бÑл задан конÑÑанÑой, напÑÐ¸Ð¼ÐµÑ '1.0', Ñо в ÑекÑÑе плана ÑÑо знаÑение ÑоÑ
ÑаниÑÑÑ ÐºÐ°Ðº еÑÑÑ Ð¸ не бÑÐ´ÐµÑ Ð·Ð°Ð¼ÐµÐ½ÐµÐ½Ð¾ на подÑÑановоÑнÑй Ñимвол вида $k. ÐÑли в иÑÑ
одном запÑоÑе Ð½Ð¾Ð¼ÐµÑ Ð²ÐµÑÑии XML докÑменÑа бÑл задан вÑÑажением, Ñо подÑÑановка Ñимволов вмеÑÑо конÑÑÐ°Ð½Ñ Ð±ÑÐ´ÐµÑ Ñделана по обÑÑнÑм пÑавилам.
F.37.4.2. ÐÑедÑÑавление pgpro_stats_totals
ÐгÑегиÑÐ¾Ð²Ð°Ð½Ð½Ð°Ñ ÑÑаÑиÑÑика, ÑобÑÐ°Ð½Ð½Ð°Ñ Ð¼Ð¾Ð´Ñлем, вÑдаÑÑÑÑ ÑеÑез пÑедÑÑавление pgpro_stats_totals. ÐÑо пÑедÑÑавление ÑодеÑÐ¶Ð¸Ñ Ð¾ÑделÑнÑе ÑÑÑоки Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ оÑделÑного обÑекÑа ÐÐ (но в колиÑеÑÑве, не пÑевÑÑаÑÑем макÑималÑное ÑиÑло ÑазлиÑнÑÑ
обÑекÑов, коÑоÑое Ð¼Ð¾Ð¶ÐµÑ Ð¾ÑÑлеживаÑÑ Ð¼Ð¾Ð´ÑлÑ). СÑолбÑÑ Ð¿ÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ñ Ð² ТаблиÑе F.92.
ТаблиÑа F.92. СÑолбÑÑ pgpro_stats_totals
| Name | Тип | ÐпиÑание |
|---|---|---|
object_type | text | Тип обÑекÑа, Ð´Ð»Ñ ÐºÐ¾ÑоÑого агÑегиÑÑеÑÑÑ ÑÑаÑиÑÑика: «cluster» (клаÑÑÐµÑ ÐÐ), «database» (база даннÑÑ ), «user» (полÑзоваÑелÑ), «client_addr» (адÑÐµÑ ÐºÐ»Ð¸ÐµÐ½Ñа), «application» (пÑиложение), «backend» (обÑлÑживаÑÑий пÑоÑеÑÑ), «session» (ÑеанÑ) |
object_id | bigint | ÐденÑиÑикаÑÐ¾Ñ Ð¾Ð±ÑекÑа: oid Ð´Ð»Ñ Ð±Ð°Ð· и полÑзоваÑелей, pid Ð´Ð»Ñ Ð¾Ð±ÑлÑживаÑÑÐ¸Ñ Ð¿ÑоÑеÑÑов, sid Ð´Ð»Ñ ÑеанÑов, NULL Ð´Ð»Ñ Ð¸Ð½ÑÑ Ð¾Ð±ÑекÑов |
object_name | text | ТекÑÑовое Ð¸Ð¼Ñ Ð¾Ð±ÑекÑа либо NULL |
queries_planned | int8 | ЧиÑло ÑпланиÑованнÑÑ Ð·Ð°Ð¿ÑоÑов |
total_plan_time | float8 | ÐбÑее вÑемÑ, заÑÑаÑенное на планиÑование опеÑаÑоÑов, в миллиÑекÑÐ½Ð´Ð°Ñ . Ð ÑекÑÑей веÑÑии вÑегда 0. |
total_plan_rusage | pgpro_stats_rusage | ÐгÑегиÑÐ¾Ð²Ð°Ð½Ð½Ð°Ñ ÑÑаÑиÑÑика иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑеÑÑÑÑов пÑи планиÑовании опеÑаÑоÑов. Ð ÑекÑÑей веÑÑии ÑодеÑÐ¶Ð¸Ñ Ð½Ñли. |
queries_executed | int8 | ЧиÑло вÑполненнÑÑ Ð·Ð°Ð¿ÑоÑов |
total_exec_time | float8 | ÐбÑее вÑемÑ, заÑÑаÑенное на вÑполнение опеÑаÑоÑов, в миллиÑекÑÐ½Ð´Ð°Ñ |
total_exec_rusage | pgpro_stats_rusage | ÐгÑегиÑÐ¾Ð²Ð°Ð½Ð½Ð°Ñ ÑÑаÑиÑÑика иÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑеÑÑÑÑов пÑи вÑполнении опеÑаÑоÑов |
rows | int8 | ÐбÑее ÑиÑло ÑÑÑок, полÑÑеннÑÑ Ð¸Ð»Ð¸ заÑÑонÑÑÑÑ Ð¾Ð¿ÐµÑаÑоÑами |
shared_blks_hit | int8 | ÐбÑее ÑиÑло попаданий ÑазделÑемÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð² в ÐºÐµÑ Ð´Ð»Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¾Ð¿ÐµÑаÑоÑов |
shared_blks_read | int8 | ÐбÑее ÑиÑло ÑазделÑемÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², пÑоÑиÑаннÑÑ Ð¾Ð¿ÐµÑаÑоÑами |
shared_blks_dirtied | int8 | ÐбÑее ÑиÑло ÑазделÑемÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², «загÑÑзнÑннÑÑ Â» опеÑаÑоÑами |
shared_blks_written | int8 | ÐбÑее ÑиÑло ÑазделÑемÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², запиÑаннÑÑ Ð¾Ð¿ÐµÑаÑоÑами |
local_blks_hit | int8 | ÐбÑее ÑиÑло попаданий локалÑнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð² в ÐºÐµÑ Ð´Ð»Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¾Ð¿ÐµÑаÑоÑов |
local_blks_read | int8 | ÐбÑее ÑиÑло локалÑнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², пÑоÑиÑаннÑÑ Ð¾Ð¿ÐµÑаÑоÑами |
local_blks_dirtied | int8 | ÐбÑее ÑиÑло локалÑнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², «загÑÑзнÑннÑÑ Â» опеÑаÑоÑами |
local_blks_written | int8 | ÐбÑее ÑиÑло локалÑнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², запиÑаннÑÑ Ð¾Ð¿ÐµÑаÑоÑами |
temp_blks_read | int8 | ÐбÑее ÑиÑло локалÑнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², пÑоÑиÑаннÑÑ Ð¾Ð¿ÐµÑаÑоÑами |
temp_blks_written | int8 | ÐбÑее ÑиÑло вÑеменнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², запиÑаннÑÑ Ð¾Ð¿ÐµÑаÑоÑами |
shared_blk_read_time | float8 | ÐбÑее вÑемÑ, заÑÑаÑенное опеÑаÑоÑами на ÑÑение ÑазделÑемÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², в миллиÑекÑÐ½Ð´Ð°Ñ (еÑли вклÑÑÑн track_io_timing, инаÑе нолÑ) |
shared_blk_write_time | float8 | ÐбÑее вÑемÑ, заÑÑаÑенное опеÑаÑоÑами на запиÑÑ ÑазделÑемÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², в миллиÑекÑÐ½Ð´Ð°Ñ (еÑли вклÑÑÑн track_io_timing, инаÑе нолÑ) |
local_blk_read_time | float8 | ÐбÑее вÑемÑ, заÑÑаÑенное опеÑаÑоÑами на ÑÑение локалÑнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², в миллиÑекÑÐ½Ð´Ð°Ñ (еÑли вклÑÑÑн track_io_timing, или Ð½Ð¾Ð»Ñ Ð² пÑоÑивном ÑлÑÑае). РвеÑÑиÑÑ Postgres Pro ниже 17 вÑегда ÑодеÑÐ¶Ð¸Ñ Ð½Ð¾Ð»Ñ. |
local_blk_write_time | float8 | ÐбÑее вÑемÑ, заÑÑаÑенное опеÑаÑоÑами на запиÑÑ Ð»Ð¾ÐºÐ°Ð»ÑнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², в миллиÑекÑÐ½Ð´Ð°Ñ (еÑли вклÑÑÑн track_io_timing, или Ð½Ð¾Ð»Ñ Ð² пÑоÑивном ÑлÑÑае). РвеÑÑиÑÑ Postgres Pro ниже 17 вÑегда ÑодеÑÐ¶Ð¸Ñ Ð½Ð¾Ð»Ñ. |
temp_blk_read_time | float8 | ÐбÑее вÑемÑ, заÑÑаÑенное опеÑаÑоÑами на ÑÑение вÑеменнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², в миллиÑекÑÐ½Ð´Ð°Ñ (еÑли вклÑÑÑн track_io_timing, или Ð½Ð¾Ð»Ñ Ð² пÑоÑивном ÑлÑÑае). РвеÑÑиÑÑ Postgres Pro ниже 15 вÑегда ÑодеÑÐ¶Ð¸Ñ Ð½Ð¾Ð»Ñ. |
temp_blk_write_time | float8 | ÐбÑее вÑемÑ, заÑÑаÑенное опеÑаÑоÑами на запиÑÑ Ð²ÑеменнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², в миллиÑекÑÐ½Ð´Ð°Ñ (еÑли вклÑÑÑн track_io_timing, или Ð½Ð¾Ð»Ñ Ð² пÑоÑивном ÑлÑÑае). РвеÑÑиÑÑ Postgres Pro ниже 15 вÑегда ÑодеÑÐ¶Ð¸Ñ Ð½Ð¾Ð»Ñ. |
wal_records | int8 | ÐбÑее ÑиÑло запиÑей WAL, ÑгенеÑиÑованнÑÑ Ð¿Ñи вÑполнении опеÑаÑоÑов. Ð ÑекÑÑей веÑÑии вÑегда 0. |
wal_fpi | int8 | ÐбÑее ÑиÑло обÑазов полнÑÑ ÑÑÑÐ°Ð½Ð¸Ñ Ð² WAL, ÑгенеÑиÑованнÑÑ Ð¿Ñи вÑполнении опеÑаÑоÑов. Ð ÑекÑÑей веÑÑии вÑегда 0. |
wal_bytes | numeric | ÐбÑий обÑÑм WAL (в байÑÐ°Ñ ), ÑгенеÑиÑованнÑй пÑи вÑполнении опеÑаÑоÑов. Ð ÑекÑÑей веÑÑии вÑегда 0. |
jit_functions | int8 | ÐбÑее ÑиÑло ÑÑнкÑий, ÑкомпилиÑованнÑÑ Ð² JIT-код пÑи вÑполнении опеÑаÑоÑов. РвеÑÑиÑÑ Postgres Pro ниже 15 вÑегда ÑодеÑÐ¶Ð¸Ñ Ð½Ð¾Ð»Ñ. |
jit_generation_time | float8 | ÐбÑее вÑемÑ, заÑÑаÑенное на компилÑÑÐ¸Ñ JIT-кода пÑи вÑполнении опеÑаÑоÑов, в миллиÑекÑÐ½Ð´Ð°Ñ . РвеÑÑиÑÑ Postgres Pro ниже 15 вÑегда ÑодеÑÐ¶Ð¸Ñ Ð½Ð¾Ð»Ñ. |
jit_inlining_count | int8 | ÐолиÑеÑÑво вÑÑÑаиваний ÑÑнкÑий, иÑполÑзÑемÑÑ Ð² опеÑаÑоÑÐ°Ñ . РвеÑÑиÑÑ Postgres Pro ниже 15 вÑегда ÑодеÑÐ¶Ð¸Ñ Ð½Ð¾Ð»Ñ. |
jit_inlining_time | float8 | ÐбÑее вÑемÑ, заÑÑаÑенное на вÑÑÑаивание ÑÑнкÑий пÑи вÑполнении опеÑаÑоÑов, в миллиÑекÑÐ½Ð´Ð°Ñ . РвеÑÑиÑÑ Postgres Pro ниже 15 вÑегда ÑодеÑÐ¶Ð¸Ñ Ð½Ð¾Ð»Ñ. |
jit_optimization_count | int8 | ÐолиÑеÑÑво JIT-опÑимизаÑий Ð´Ð»Ñ Ð¾Ð¿ÐµÑаÑоÑов. РвеÑÑиÑÑ Postgres Pro ниже 15 вÑегда ÑодеÑÐ¶Ð¸Ñ Ð½Ð¾Ð»Ñ. |
jit_optimization_time | float8 | ÐбÑее вÑемÑ, заÑÑаÑенное на JIT-опÑимизаÑÐ¸Ñ Ð¿Ñи вÑполнении опеÑаÑоÑов, в миллиÑекÑÐ½Ð´Ð°Ñ . РвеÑÑиÑÑ Postgres Pro ниже 15 вÑегда ÑодеÑÐ¶Ð¸Ñ Ð½Ð¾Ð»Ñ. |
jit_emission_count | int8 | СколÑко Ñаз вÑдавалÑÑ ÐºÐ¾Ð´ пÑи вÑполнении опеÑаÑоÑов. РвеÑÑиÑÑ Postgres Pro ниже 15 вÑегда ÑодеÑÐ¶Ð¸Ñ Ð½Ð¾Ð»Ñ. |
jit_emission_time | float8 | ÐбÑее вÑемÑ, заÑÑаÑенное на вÑдаÑÑ ÐºÐ¾Ð´Ð° пÑи вÑполнении опеÑаÑоÑов, в миллиÑекÑÐ½Ð´Ð°Ñ . РвеÑÑиÑÑ Postgres Pro ниже 15 вÑегда ÑодеÑÐ¶Ð¸Ñ Ð½Ð¾Ð»Ñ. |
jit_deform_count | int8 | ÐбÑее ÑиÑло ÑÑнкÑий пÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾ÑÑежей, ÑкомпилиÑованнÑÑ Ð² JIT-код пÑи вÑполнении опеÑаÑоÑов. РвеÑÑиÑÑ Postgres Pro ниже 17 вÑегда ÑодеÑÐ¶Ð¸Ñ Ð½Ð¾Ð»Ñ. |
jit_deform_time | float8 | ÐбÑее вÑемÑ, заÑÑаÑенное опеÑаÑоÑами на компилиÑование ÑÑнкÑий пÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾ÑÑежей в JIT-код, в миллиÑекÑÐ½Ð´Ð°Ñ . РвеÑÑиÑÑ Postgres Pro ниже 17 вÑегда ÑодеÑÐ¶Ð¸Ñ Ð½Ð¾Ð»Ñ. |
wait_stats | jsonb | ÐбÑÐµÐºÑ Ñипа jsonb, ÑодеÑжаÑий ÑÑаÑиÑÑÐ¸ÐºÑ Ð¿Ð¾ ÑобÑÑиÑм Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿ÑоÑа. ÐÑе показаÑели пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ñ Ð² миллиÑекÑндаÑ
и кÑаÑÐ½Ñ Ð¿Ð°ÑамеÑÑÑ ÐºÐ¾Ð½ÑигÑÑаÑии pgpro_stats.profile_period. |
inval_msgs | pgpro_stats_inval_msgs | ЧиÑло ÑообÑений аннÑлиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐºÐµÑа по Ñипам, вÑданнÑÑ Ð¿Ñи вÑполнении опеÑаÑоÑов (еÑли ÑÑо поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑеÑвеÑ, инаÑе â 0). |
cache_resets | int4 | ЧиÑло ÑбÑоÑов ÑазделÑемого кеÑа (ÑолÑко Ð´Ð»Ñ ÐºÐ»Ð°ÑÑеÑа ÐÐ, баз даннÑÑ Ð¸ обÑлÑживаÑÑÐ¸Ñ Ð¿ÑоÑеÑÑов). УвелиÑиваеÑÑÑ Ð´Ð»Ñ Ð¾Ð±ÑлÑживаÑÑего пÑоÑеÑÑа, когда он полÑÑÐ°ÐµÑ ÑообÑение, вÑзÑваÑÑее полнÑй ÑбÑÐ¾Ñ ÐºÐµÑа. |
stats_since | timestamp with time zone | ÐÑемÑ, когда наÑалÑÑ ÑÐ±Ð¾Ñ ÑÑаÑиÑÑики по опеÑаÑоÑам |
F.37.4.3. ÐÑедÑÑавление pgpro_stats_info
СÑаÑиÑÑика Ñамого модÑÐ»Ñ pgpro_stats ÑобиÑаеÑÑÑ Ð¸ вÑдаÑÑÑÑ ÑеÑез пÑедÑÑавление Ñ Ð¸Ð¼ÐµÐ½ÐµÐ¼ pgpro_stat_info. ÐÑо пÑедÑÑавление ÑодеÑÐ¶Ð¸Ñ ÑолÑко Ð¾Ð´Ð½Ñ ÑÑÑокÑ. СÑолбÑÑ Ð¿ÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ñ Ð² ТаблиÑе F.93.
ТаблиÑа F.93. СÑолбÑÑ pgpro_stats_info
| Name | Тип | ÐпиÑание |
|---|---|---|
dealloc | bigint | СколÑко вÑего Ñаз в pgpro_stats_statements оÑбÑаÑÑвалиÑÑ Ð·Ð°Ð¿Ð¸Ñи о Ñедко вÑполнÑемÑÑ
опеÑаÑоÑаÑ
, поÑколÑÐºÑ Ð½Ð° обÑабоÑÐºÑ Ð¿Ð¾ÑÑÑпало болÑÑе ÑазлиÑнÑÑ
опеÑаÑоÑов, Ñем задано в паÑамеÑÑе pgpro_stats.max |
stats_reset | timestamp with time zone | ÐÑÐµÐ¼Ñ Ð¿Ð¾Ñледнего ÑбÑоÑа вÑеÑ
ÑÑаÑиÑÑиÑеÑкиÑ
даннÑÑ
в пÑедÑÑавлении pgpro_stats_statements |
F.37.4.4. ÐÑедÑÑавление pgpro_stats_metrics
ÐеÑÑики, ÑобÑаннÑе модÑлем pgpro_stats, вÑводÑÑÑÑ Ð² пÑедÑÑавлении pgpro_stats_metrics. Ð ÑаблиÑе ниже опиÑÐ°Ð½Ñ ÑÑолбÑÑ ÑÑого пÑедÑÑавлениÑ.
ТаблиÑа F.94. СÑолбÑÑ pgpro_stats_metrics
| Name | Тип | ÐпиÑание |
|---|---|---|
metric_number | int4 | УникалÑнÑй иденÑиÑикаÑÐ¾Ñ ÑобиÑаемой меÑÑики, назнаÑаемÑй полÑзоваÑелем. ÐÑÐ¾Ñ Ð¸Ð´ÐµÐ½ÑиÑикаÑÐ¾Ñ Ð²Ñ Ð¾Ð´Ð¸Ñ Ð² имена паÑамеÑÑов, опÑеделÑÑÑÐ¸Ñ Ð¼ÐµÑÑикÑ. |
metric_name | text | ÐÐ¼Ñ Ð¼ÐµÑÑики, опÑеделÑнное паÑамеÑÑом pgpro_stats.metric_ |
db_name | text | ÐÐ¼Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , Ð´Ð»Ñ ÐºÐ¾ÑоÑой бÑла полÑÑена меÑÑика |
ts | timestamptz | ÐÑемÑ, когда бÑло вÑÑиÑлено знаÑение меÑÑики |
value | jsonb | РезÑлÑÑÐ°Ñ Ð·Ð°Ð¿ÑоÑа, пÑоизводивÑего вÑÑиÑление меÑÑики. Ðн ÑеÑиализÑеÑÑÑ Ð² Ñипе jsonb как маÑÑив обÑекÑов, полÑÑеннÑÑ
Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑÑнкÑии to_jsonb(. Ð ÑлÑÑае оÑибки возвÑаÑаеÑÑÑ Ð¾Ð´Ð¸Ð½ обÑекÑ, ÑодеÑжаÑий Ð¿Ð¾Ð»Ñ code (код оÑибки), message (ÑообÑение), detail (подÑобноÑÑи) и hint (подÑказка). |
F.37.4.5. ÐÑедÑÑавление pgpro_stats_archiver
ÐÑедÑÑавление pgpro_stats_archiver бÑÐ´ÐµÑ ÑодеÑжаÑÑ Ð¾Ð´Ð½Ñ ÑÑÑокÑ, показÑваÑÑÑÑ Ð´Ð°Ð½Ð½Ñе о пÑоÑеÑÑе аÑÑ
иваÑии клаÑÑеÑа.
ТаблиÑа F.95. СÑолбÑÑ pgpro_stats_archiver
| СÑÐ¾Ð»Ð±ÐµÑ | Тип | ÐпиÑание |
|---|---|---|
archived_count | bigint | ЧиÑло Ñайлов WAL, коÑоÑÑе бÑли ÑÑпеÑно зааÑÑ Ð¸Ð²Ð¸ÑÐ¾Ð²Ð°Ð½Ñ |
last_archived_wal | text | ÐÐ¼Ñ Ð¿Ð¾Ñледнего ÑÑпеÑно зааÑÑ Ð¸Ð²Ð¸Ñованного Ñайла WAL |
last_archived_time | timestamp with time zone | ÐÑÐµÐ¼Ñ Ð¿Ð¾Ñледней ÑÑпеÑной аÑÑ Ð¸Ð²Ð°Ñии |
failed_count | bigint | ЧиÑло неÑдаÑнÑÑ Ð¿Ð¾Ð¿ÑÑок аÑÑ Ð¸Ð²Ð°Ñии Ñайлов WAL |
last_failed_wal | text | ÐÐ¼Ñ Ñайла WAL, коÑоÑÑй обÑабаÑÑвалÑÑ Ð² Ñ Ð¾Ð´Ðµ поÑледней неÑдавÑейÑÑ Ð°ÑÑ Ð¸Ð²Ð°Ñии |
last_failed_time | timestamp with time zone | ÐÑÐµÐ¼Ñ Ð¿Ð¾Ñледней неÑдавÑейÑÑ Ð°ÑÑ Ð¸Ð²Ð°Ñии |
active_time | int8 | ÐбÑее вÑемÑ, в ÑеÑение коÑоÑого пÑоÑеÑÑ Ð°ÑÑ Ð¸Ð²Ð°Ñии бÑл акÑивен |
archive_command_time | int8 | ÐбÑее вÑÐµÐ¼Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ Ð°ÑÑ Ð¸Ð²Ð°Ñии |
stats_reset | timestamp with time zone | ÐоÑледнее вÑÐµÐ¼Ñ ÑбÑоÑа ÑÑÐ¸Ñ ÑÑаÑиÑÑиÑеÑÐºÐ¸Ñ Ð´Ð°Ð½Ð½ÑÑ |
F.37.4.6. ÐÑедÑÑавление pgpro_stats_vacuum_database
Ðажно
ÐаÑÐ¸Ð½Ð°Ñ Ñ Postgres Pro 16, ÑÑо пÑедÑÑавление не ÑодеÑÐ¶Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ
, поÑколÑÐºÑ Ð¾ÑобÑажаемÑе в нÑм ÑÑаÑиÑÑики доÑÑÑÐ¿Ð½Ñ ÑеÑез пÑедÑÑавление каÑалога pg_stats_vacuum_database (за подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº ÑÐ°Ð·Ð´ÐµÐ»Ñ Ð¡Ð¸ÑÑемнÑе пÑедÑÑавлениÑ).
ÐÑедÑÑавление pgpro_stats_vacuum_database бÑÐ´ÐµÑ ÑодеÑжаÑÑ Ð¿Ð¾ одной ÑÑÑоке Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ
в ÑекÑÑем клаÑÑеÑе, показÑÐ²Ð°Ñ ÑÑаÑиÑÑÐ¸ÐºÑ Ð¾ÑиÑÑки ÑÑой конкÑеÑной ÐÐ. ÐÑа ÑÑаÑиÑÑика ÑобиÑаеÑÑÑ ÑдÑом ÑиÑÑемÑ, как опиÑано в Разделе 26.2. Ð ÑаблиÑе ниже опиÑÐ°Ð½Ñ ÑÑолбÑÑ Ð¿ÑедÑÑавлениÑ.
ТаблиÑа F.96. СÑолбÑÑ pgpro_stats_vacuum_database
| СÑÐ¾Ð»Ð±ÐµÑ | Тип | ÐпиÑание |
|---|---|---|
dbid | oid | OID Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ |
total_blks_read | int8 | ÐолиÑеÑÑво блоков Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , пÑоÑиÑаннÑÑ Ð¾Ð¿ÐµÑаÑиÑми оÑиÑÑки Ð´Ð»Ñ ÑÑой ÐÐ |
total_blks_hit | int8 | ÐолиÑеÑÑво попаданий в бÑÑеÑнÑй ÐºÐµÑ Ð±Ð»Ð¾ÐºÐ¾Ð² Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð² пÑоÑеÑÑе опеÑаÑий оÑиÑÑки, вÑполненнÑÑ Ð´Ð»Ñ ÑÑой ÐÐ |
total_blks_dirtied | int8 | ÐолиÑеÑÑво блоков Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , загÑÑзнÑннÑÑ Ð¾Ð¿ÐµÑаÑиÑми оÑиÑÑки Ð´Ð»Ñ ÑÑой ÐÐ |
total_blks_written | int8 | ÐолиÑеÑÑво блоков Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , запиÑаннÑÑ Ð¾Ð¿ÐµÑаÑиÑми оÑиÑÑки Ð´Ð»Ñ ÑÑой ÐÐ |
wal_records | int8 | ÐбÑее ÑиÑло запиÑей WAL, ÑгенеÑиÑованнÑÑ Ð¾Ð¿ÐµÑаÑиÑми оÑиÑÑки Ð´Ð»Ñ ÑÑой Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ |
wal_fpi | int8 | ÐбÑее ÑиÑло обÑазов полнÑÑ ÑÑÑÐ°Ð½Ð¸Ñ Ð² WAL, ÑгенеÑиÑованнÑÑ Ð¾Ð¿ÐµÑаÑиÑми оÑиÑÑки Ð´Ð»Ñ ÑÑой Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ |
wal_bytes | numeric | ÐбÑий обÑÑм WAL (в байÑÐ°Ñ ), ÑгенеÑиÑованнÑй опеÑаÑиÑми оÑиÑÑки Ð´Ð»Ñ ÑÑой Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ |
blk_read_time | float8 | ÐбÑее вÑемÑ, заÑÑаÑенное на ÑÑение блоков Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¾Ð¿ÐµÑаÑиÑми оÑиÑÑки, вÑполненнÑми Ð´Ð»Ñ ÑÑой ÐÐ, в миллиÑекÑÐ½Ð´Ð°Ñ (еÑли вклÑÑÑн паÑамеÑÑ track_io_timing, или Ð½Ð¾Ð»Ñ Ð² пÑоÑивном ÑлÑÑае) |
blk_write_time | float8 | ÐбÑее вÑемÑ, заÑÑаÑенное на запиÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð² Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð¾Ð¿ÐµÑаÑиÑми оÑиÑÑки, вÑполненнÑми Ð´Ð»Ñ ÑÑой ÐÐ, в миллиÑекÑÐ½Ð´Ð°Ñ (еÑли вклÑÑÑн паÑамеÑÑ track_io_timing, или Ð½Ð¾Ð»Ñ Ð² пÑоÑивном ÑлÑÑае) |
delay_time | float8 | ÐÑÐµÐ¼Ñ Ð¿ÑоÑÑÐ¾Ñ Ð² ÑоÑке задеÑжки пÑи вÑполнении опеÑаÑий оÑиÑÑки Ð´Ð»Ñ ÑÑой Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , в миллиÑекÑÐ½Ð´Ð°Ñ (за подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº ÐодÑазделÑ 18.4.4). |
system_time | float8 | ÐÑÐµÐ¼Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑоÑеÑÑоÑа в Ñежиме ÑдÑа пÑи оÑиÑÑке ÑÑой Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , в миллиÑекÑÐ½Ð´Ð°Ñ |
user_time | float8 | ÐÑÐµÐ¼Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑоÑеÑÑоÑа в полÑзоваÑелÑÑком Ñежиме пÑи оÑиÑÑке ÑÑой Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , в миллиÑекÑÐ½Ð´Ð°Ñ |
total_time | float8 | ÐбÑее вÑемÑ, заÑÑаÑенное на оÑиÑÑÐºÑ ÑÑой Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , в миллиÑекÑÐ½Ð´Ð°Ñ |
interrupts | int4 | СколÑко Ñаз опеÑаÑии оÑиÑÑки Ð´Ð»Ñ ÑÑой Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð±Ñли пÑеÑÐ²Ð°Ð½Ñ Ð¸Ð·-за ÐºÐ°ÐºÐ¸Ñ -либо оÑибок |
F.37.4.7. ÐÑедÑÑавление pgpro_stats_vacuum_tables
Ðажно
ÐаÑÐ¸Ð½Ð°Ñ Ñ Postgres Pro 16, ÑÑо пÑедÑÑавление не ÑодеÑÐ¶Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ
, поÑколÑÐºÑ Ð¾ÑобÑажаемÑе в нÑм ÑÑаÑиÑÑики доÑÑÑÐ¿Ð½Ñ ÑеÑез пÑедÑÑавление каÑалога pg_stats_vacuum_tables (за подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº ÑÐ°Ð·Ð´ÐµÐ»Ñ Ð¡Ð¸ÑÑемнÑе пÑедÑÑавлениÑ).
ÐÑедÑÑавление pgpro_stats_vacuum_tables бÑÐ´ÐµÑ ÑодеÑжаÑÑ Ð¿Ð¾ одной ÑÑÑоке Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ ÑаблиÑÑ Ð² ÑекÑÑей базе даннÑÑ
(вклÑÑÐ°Ñ ÑаблиÑÑ TOAST), показÑÐ²Ð°Ñ ÑÑаÑиÑÑÐ¸ÐºÑ Ð¾ÑиÑÑки ÑÑой конкÑеÑной ÑаблиÑÑ. ÐÑа ÑÑаÑиÑÑика ÑобиÑаеÑÑÑ ÑдÑом ÑиÑÑемÑ, как опиÑано в Разделе 26.2. Ð ÑаблиÑе ниже опиÑÐ°Ð½Ñ ÑÑолбÑÑ Ð¿ÑедÑÑавлениÑ.
ТаблиÑа F.97. СÑолбÑÑ pgpro_stats_vacuum_tables
| СÑÐ¾Ð»Ð±ÐµÑ | Тип | ÐпиÑание |
|---|---|---|
relid | oid | OID ÑаблиÑÑ |
schema | name | ÐÐ¼Ñ ÑÑ ÐµÐ¼Ñ, в коÑоÑой ÑаÑположена ÑÑа ÑаблиÑа |
relname | name | ÐÐ¼Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ ÑаблиÑÑ |
total_blks_read | int8 | ÐолиÑеÑÑво блоков ÐÐ, пÑоÑиÑаннÑÑ Ð¾Ð¿ÐµÑаÑиÑми оÑиÑÑки Ð´Ð»Ñ ÑÑой ÑаблиÑÑ |
total_blks_hit | int8 | ÐолиÑеÑÑво попаданий в бÑÑеÑнÑй ÐºÐµÑ Ð±Ð»Ð¾ÐºÐ¾Ð² Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð² пÑоÑеÑÑе опеÑаÑий оÑиÑÑки, вÑполненнÑÑ Ð´Ð»Ñ ÑÑой ÑаблиÑÑ |
total_blks_dirtied | int8 | ÐолиÑеÑÑво блоков Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , загÑÑзнÑннÑÑ Ð¾Ð¿ÐµÑаÑиÑми оÑиÑÑки Ð´Ð»Ñ ÑÑой ÑаблиÑÑ |
total_blks_written | int8 | ÐолиÑеÑÑво блоков Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , запиÑаннÑÑ Ð¾Ð¿ÐµÑаÑиÑми оÑиÑÑки Ð´Ð»Ñ ÑÑой ÑаблиÑÑ |
rel_blks_read | int8 | ÐолиÑеÑÑво блоков, пÑоÑиÑаннÑÑ Ð¸Ð· ÑÑой ÑаблиÑÑ Ð¾Ð¿ÐµÑаÑиÑми оÑиÑÑки |
rel_blks_hit | int8 | СколÑко Ñаз блоки ÑÑой ÑаблиÑÑ Ñже обнаÑÑживалиÑÑ Ð² бÑÑеÑном кеÑе опеÑаÑиÑми оÑиÑÑки, Ñак ÑÑо ÑÑение Ñ Ð´Ð¸Ñка не поÑÑебовалоÑÑ (здеÑÑ ÑÑиÑÑваÑÑÑÑ ÑолÑко ÑлÑÑаи обнаÑÑÐ¶ÐµÐ½Ð¸Ñ Ð±Ð»Ð¾ÐºÐ¾Ð² в кеÑе Postgres Pro, а не в кеÑе опеÑаÑионной ÑиÑÑемÑ) |
pages_scanned | int8 | ÐолиÑеÑÑво ÑÑÑаниÑ, к коÑоÑÑм обÑаÑалиÑÑ Ð¾Ð¿ÐµÑаÑии оÑиÑÑки, вÑполненнÑе Ð´Ð»Ñ ÑÑой ÑаблиÑÑ |
pages_removed | int8 | ÐолиÑеÑÑво ÑÑÑаниÑ, ÑдалÑннÑÑ Ð¸Ð· ÑизиÑеÑкого Ñ ÑанилиÑа опеÑаÑиÑми оÑиÑÑки Ð´Ð»Ñ ÑÑой ÑаблиÑÑ |
pages_frozen | int8 | СколÑко Ñаз ÑÑÑаниÑÑ ÑÑой ÑаблиÑÑ Ð±Ñли помеÑÐµÐ½Ñ Ð¾Ð¿ÐµÑаÑиÑми оÑиÑÑки в каÑÑе видимоÑÑи как полноÑÑÑÑ Ð·Ð°Ð¼Ð¾ÑоженнÑе |
pages_all_visible | int8 | СколÑко Ñаз ÑÑÑаниÑÑ ÑÑой ÑаблиÑÑ Ð±Ñли помеÑÐµÐ½Ñ Ð¾Ð¿ÐµÑаÑиÑми оÑиÑÑки в каÑÑе видимоÑÑи как полноÑÑÑÑ Ð²Ð¸Ð´Ð¸Ð¼Ñе |
tuples_deleted | int8 | ÐолиÑеÑÑво «мÑÑÑвÑÑ Â» коÑÑежей, ÑдалÑннÑÑ Ð¾Ð¿ÐµÑаÑиÑми оÑиÑÑки из ÑÑой ÑаблиÑÑ |
tuples_frozen | int8 | ÐолиÑеÑÑво коÑÑежей ÑÑой ÑаблиÑÑ, помеÑеннÑÑ Ð¾Ð¿ÐµÑаÑиÑми оÑиÑÑки как замоÑоженнÑе |
dead_tuples | int8 | ÐолиÑеÑÑво «мÑÑÑвÑÑ Â» коÑÑежей, оÑÑавленнÑÑ Ð¾Ð¿ÐµÑаÑиÑми оÑиÑÑки в ÑÑой ÑаблиÑе из-за видимоÑÑи ÑÑÐ¸Ñ ÐºÐ¾ÑÑежей в ÑÑанзакÑиÑÑ |
index_vacuum_count | int8 | СколÑко Ñаз бÑла вÑполнена оÑиÑÑка индекÑов ÑÑой ÑаблиÑÑ |
rev_all_frozen_pages | int8 | СколÑко Ñаз Ð´Ð»Ñ ÑÑÑÐ°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ ÑаблиÑÑ ÑнималаÑÑ Ð¼ÐµÑка полной замоÑозки в каÑÑе видимоÑÑи |
rev_all_visible_pages | int8 | СколÑко Ñаз Ð´Ð»Ñ ÑÑÑÐ°Ð½Ð¸Ñ Ð´Ð°Ð½Ð½Ð¾Ð¹ ÑаблиÑÑ ÑнималаÑÑ Ð¼ÐµÑка полной видимоÑÑи в каÑÑе видимоÑÑи |
wal_records | int8 | ÐбÑее ÑиÑло запиÑей WAL, ÑгенеÑиÑованнÑÑ Ð¾Ð¿ÐµÑаÑиÑми оÑиÑÑки Ð´Ð»Ñ ÑÑой ÑаблиÑÑ |
wal_fpi | int8 | ÐбÑее ÑиÑло обÑазов полнÑÑ ÑÑÑÐ°Ð½Ð¸Ñ Ð² WAL, ÑгенеÑиÑованнÑÑ Ð¾Ð¿ÐµÑаÑиÑми оÑиÑÑки Ð´Ð»Ñ ÑÑой ÑаблиÑÑ |
wal_bytes | numeric | ÐбÑий обÑÑм WAL (в байÑÐ°Ñ ), ÑгенеÑиÑованнÑй опеÑаÑиÑми оÑиÑÑки Ð´Ð»Ñ ÑÑой ÑаблиÑÑ |
blk_read_time | float8 | ÐбÑее вÑемÑ, заÑÑаÑенное на ÑÑение блоков ÐРопеÑаÑиÑми оÑиÑÑки, вÑполненнÑми Ð´Ð»Ñ ÑÑой ÑаблиÑÑ, в миллиÑекÑÐ½Ð´Ð°Ñ (еÑли вклÑÑÑн паÑамеÑÑ track_io_timing, или Ð½Ð¾Ð»Ñ Ð² пÑоÑивном ÑлÑÑае) |
blk_write_time | float8 | ÐбÑее вÑемÑ, заÑÑаÑенное на запиÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð² ÐРопеÑаÑиÑми оÑиÑÑки, вÑполненнÑми Ð´Ð»Ñ ÑÑой ÑаблиÑÑ, в миллиÑекÑÐ½Ð´Ð°Ñ (еÑли вклÑÑÑн паÑамеÑÑ track_io_timing, или Ð½Ð¾Ð»Ñ Ð² пÑоÑивном ÑлÑÑае) |
delay_time | float8 | ÐÑÐµÐ¼Ñ Ð¿ÑоÑÑÐ¾Ñ Ð² ÑоÑке задеÑжки пÑи вÑполнении опеÑаÑий оÑиÑÑки Ð´Ð»Ñ ÑÑой ÑаблиÑÑ, в миллиÑекÑÐ½Ð´Ð°Ñ (за подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº ÐодÑазделÑ 18.4.4). |
system_time | float8 | ÐÑÐµÐ¼Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑоÑеÑÑоÑа в Ñежиме ÑдÑа пÑи оÑиÑÑке ÑÑой ÑаблиÑÑ, в миллиÑекÑÐ½Ð´Ð°Ñ |
user_time | float8 | ÐÑÐµÐ¼Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑоÑеÑÑоÑа в полÑзоваÑелÑÑком Ñежиме пÑи оÑиÑÑке ÑÑой ÑаблиÑÑ, в миллиÑекÑÐ½Ð´Ð°Ñ |
total_time | float8 | ÐбÑее вÑемÑ, заÑÑаÑенное на оÑиÑÑÐºÑ ÑÑой ÑаблиÑÑ, в миллиÑекÑÐ½Ð´Ð°Ñ |
interrupts | integer | СколÑко Ñаз опеÑаÑии оÑиÑÑки Ð´Ð»Ñ ÑÑой ÑаблиÑÑ Ð±Ñли пÑеÑÐ²Ð°Ð½Ñ Ð¸Ð·-за ÐºÐ°ÐºÐ¸Ñ -либо оÑибок |
СÑолбÑÑ total_*, wal_* и blk_* ÑодеÑÐ¶Ð°Ñ Ð´Ð°Ð½Ð½Ñе об оÑиÑÑке индекÑов ÑÑой ÑаблиÑÑ, а ÑÑолбÑÑ system_time и user_time ÑодеÑÐ¶Ð°Ñ ÑолÑко даннÑе об оÑиÑÑке кÑÑи.
F.37.4.8. ÐÑедÑÑавление pgpro_stats_vacuum_indexes
Ðажно
ÐаÑÐ¸Ð½Ð°Ñ Ñ Postgres Pro 16, ÑÑо пÑедÑÑавление не ÑодеÑÐ¶Ð¸Ñ Ð´Ð°Ð½Ð½ÑÑ
, поÑколÑÐºÑ Ð¾ÑобÑажаемÑе в нÑм ÑÑаÑиÑÑики доÑÑÑÐ¿Ð½Ñ ÑеÑез пÑедÑÑавление каÑалога pg_stats_vacuum_indexes (за подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº ÑÐ°Ð·Ð´ÐµÐ»Ñ Ð¡Ð¸ÑÑемнÑе пÑедÑÑавлениÑ).
ÐÑедÑÑавление pgpro_stats_vacuum_indexes бÑÐ´ÐµÑ ÑодеÑжаÑÑ Ð¾Ð´Ð½Ñ ÑÑÑÐ¾ÐºÑ Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ индекÑа в ÑекÑÑей базе даннÑÑ
(вклÑÑÐ°Ñ Ð¸Ð½Ð´ÐµÐºÑÑ ÑаблиÑÑ TOAST), показÑÐ²Ð°Ñ ÑÑаÑиÑÑÐ¸ÐºÑ Ð¾ÑиÑÑки ÑÑого конкÑеÑного индекÑа. ÐÑа ÑÑаÑиÑÑика ÑобиÑаеÑÑÑ ÑдÑом ÑиÑÑемÑ, как опиÑано в Разделе 26.2. Ð ÑаблиÑе ниже опиÑÐ°Ð½Ñ ÑÑолбÑÑ Ð¿ÑедÑÑавлениÑ.
ТаблиÑа F.98. СÑолбÑÑ pgpro_stats_vacuum_indexes
| СÑÐ¾Ð»Ð±ÐµÑ | Тип | ÐпиÑание |
|---|---|---|
relid | oid | OID индекÑа |
schema | name | ÐÐ¼Ñ ÑÑ ÐµÐ¼Ñ, в коÑоÑой ÑаÑположен ÑÑÐ¾Ñ Ð¸Ð½Ð´ÐµÐºÑ |
relname | name | ÐÐ¼Ñ ÑÑого индекÑа |
total_blks_read | int8 | ÐолиÑеÑÑво блоков ÐÐ, пÑоÑиÑаннÑÑ Ð¾Ð¿ÐµÑаÑиÑми оÑиÑÑки Ð´Ð»Ñ ÑÑого индекÑа |
total_blks_hit | int8 | ÐолиÑеÑÑво попаданий в бÑÑеÑнÑй ÐºÐµÑ Ð±Ð»Ð¾ÐºÐ¾Ð² Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð² пÑоÑеÑÑе опеÑаÑий оÑиÑÑки, вÑполненнÑÑ Ð´Ð»Ñ ÑÑого индекÑа |
total_blks_dirtied | int8 | ÐолиÑеÑÑво блоков Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , загÑÑзнÑннÑÑ Ð¾Ð¿ÐµÑаÑиÑми оÑиÑÑки Ð´Ð»Ñ ÑÑого индекÑа |
total_blks_written | int8 | ÐолиÑеÑÑво блоков Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , запиÑаннÑÑ Ð¾Ð¿ÐµÑаÑиÑми оÑиÑÑки Ð´Ð»Ñ ÑÑого индекÑа |
rel_blks_read | int8 | ÐолиÑеÑÑво блоков, пÑоÑиÑаннÑÑ Ð´Ð»Ñ ÑÑого индекÑа опеÑаÑиÑми оÑиÑÑки |
rel_blks_hit | int8 | СколÑко Ñаз блоки ÑÑого индекÑа Ñже обнаÑÑживалиÑÑ Ð² бÑÑеÑном кеÑе опеÑаÑиÑми оÑиÑÑки, Ñак ÑÑо ÑÑение Ñ Ð´Ð¸Ñка не поÑÑебовалоÑÑ (здеÑÑ ÑÑиÑÑваÑÑÑÑ ÑолÑко ÑлÑÑаи обнаÑÑÐ¶ÐµÐ½Ð¸Ñ Ð±Ð»Ð¾ÐºÐ¾Ð² в кеÑе Postgres Pro, а не в кеÑе опеÑаÑионной ÑиÑÑÐµÐ¼Ñ ÐС) |
pages_deleted | int8 | ÐолиÑеÑÑво ÑÑÑаниÑ, коÑоÑÑе бÑли ÑÐ´Ð°Ð»ÐµÐ½Ñ Ð¾Ð¿ÐµÑаÑиÑми оÑиÑÑки, вÑполненнÑми Ð´Ð»Ñ ÑÑого индекÑа |
tuples_deleted | int8 | ÐолиÑеÑÑво «мÑÑÑвÑÑ Â» коÑÑежей, ÑдалÑннÑÑ Ð¾Ð¿ÐµÑаÑиÑми оÑиÑÑки Ð´Ð»Ñ ÑÑого индекÑа |
wal_records | int8 | ÐбÑее ÑиÑло запиÑей WAL, ÑгенеÑиÑованнÑÑ Ð¾Ð¿ÐµÑаÑиÑми оÑиÑÑки Ð´Ð»Ñ ÑÑого индекÑа |
wal_fpi | int8 | ÐбÑее ÑиÑло обÑазов полнÑÑ ÑÑÑÐ°Ð½Ð¸Ñ Ð² WAL, ÑгенеÑиÑованнÑÑ Ð¾Ð¿ÐµÑаÑиÑми оÑиÑÑки Ð´Ð»Ñ ÑÑого индекÑа |
wal_bytes | numeric | ÐбÑий обÑÑм WAL (в байÑÐ°Ñ ), ÑгенеÑиÑованнÑй опеÑаÑиÑми оÑиÑÑки Ð´Ð»Ñ ÑÑого индекÑа |
blk_read_time | float8 | ÐбÑее вÑемÑ, заÑÑаÑенное на ÑÑение блоков ÐРопеÑаÑиÑми оÑиÑÑки, вÑполненнÑми Ð´Ð»Ñ ÑÑого индекÑа, в миллиÑекÑÐ½Ð´Ð°Ñ (еÑли вклÑÑÑн паÑамеÑÑ track_io_timing, или Ð½Ð¾Ð»Ñ Ð² пÑоÑивном ÑлÑÑае) |
blk_write_time | float8 | ÐбÑее вÑемÑ, заÑÑаÑенное на запиÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð² ÐРопеÑаÑиÑми оÑиÑÑки, вÑполненнÑми Ð´Ð»Ñ ÑÑой ÑаблиÑÑ, в миллиÑекÑÐ½Ð´Ð°Ñ (еÑли вклÑÑÑн паÑамеÑÑ track_io_timing, или Ð½Ð¾Ð»Ñ Ð² пÑоÑивном ÑлÑÑае) |
delay_time | float8 | ÐÑÐµÐ¼Ñ Ð¿ÑоÑÑÐ¾Ñ Ð² ÑоÑке задеÑжки пÑи вÑполнении опеÑаÑий оÑиÑÑки Ð´Ð»Ñ ÑÑого индекÑа, в миллиÑекÑÐ½Ð´Ð°Ñ (за подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº ÐодÑазделÑ 18.4.4). |
system_time | float8 | ÐÑÐµÐ¼Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑоÑеÑÑоÑа в Ñежиме ÑдÑа пÑи оÑиÑÑке ÑÑого индекÑа, в миллиÑекÑÐ½Ð´Ð°Ñ |
user_time | float8 | ÐÑÐµÐ¼Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑоÑеÑÑоÑа в полÑзоваÑелÑÑком Ñежиме пÑи оÑиÑÑке ÑÑого индекÑа, в миллиÑекÑÐ½Ð´Ð°Ñ |
total_time | float8 | ÐбÑее вÑемÑ, заÑÑаÑенное на оÑиÑÑÐºÑ ÑÑого индекÑа, в миллиÑекÑÐ½Ð´Ð°Ñ |
interrupts | integer | СколÑко Ñаз опеÑаÑии оÑиÑÑки Ð´Ð»Ñ ÑÑого индекÑа бÑли пÑеÑÐ²Ð°Ð½Ñ Ð¸Ð·-за ÐºÐ°ÐºÐ¸Ñ -либо оÑибок |
F.37.5. Ð¢Ð¸Ð¿Ñ Ð´Ð°Ð½Ð½ÑÑ
F.37.5.1. Тип pgpro_stats_rusage
Тип pgpro_stats_rusage пÑедÑÑавлÑÐµÑ Ñобой запиÑÑ, ÑодеÑжаÑÑÑ ÑÑаÑиÑÑÐ¸ÐºÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑеÑÑÑÑов во вÑÐµÐ¼Ñ Ð¿Ð»Ð°Ð½Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿ÑоÑов. ÐÐ¾Ð»Ñ ÑÑого Ñипа Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ñ Ð² ТаблиÑе F.99.
ТаблиÑа F.99. ÐÐ¾Ð»Ñ pgpro_stats_rusage
| Name | Тип | ÐпиÑание |
|---|---|---|
reads | bigint | ÐолиÑеÑÑво байÑ, пÑоÑиÑанное на ÑÑовне Ñайловой ÑиÑÑÐµÐ¼Ñ |
writes | bigint | ÐолиÑеÑÑво байÑ, запиÑанное на ÑÑовне Ñайловой ÑиÑÑÐµÐ¼Ñ |
user_time | double precision | ÐÑÐµÐ¼Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑоÑеÑÑоÑа в полÑзоваÑелÑÑком Ñежиме |
system_time | double precision | ÐÑÐµÐ¼Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑоÑеÑÑоÑа в Ñежиме ÑдÑа |
minflts | bigint | ÐолиÑеÑÑво воÑÑÑановленнÑÑ ÑÑÑÐ°Ð½Ð¸Ñ (мÑÐ³ÐºÐ¸Ñ Ð¾Ñибок обÑаÑÐµÐ½Ð¸Ñ Ðº ÑÑÑаниÑам) |
majflts | bigint | ÐолиÑеÑÑво оÑибок обÑаÑÐµÐ½Ð¸Ñ Ðº ÑÑÑаниÑам (жÑÑÑÐºÐ¸Ñ ) |
nswaps | bigint | ÐолиÑеÑÑво обÑаÑений к пÑоÑÑÑанÑÑÐ²Ñ Ð¿Ð¾Ð´ÐºÐ°Ñки |
msgsnds | bigint | ÐолиÑеÑÑво пеÑеданнÑÑ ÑообÑений IPC |
msgrcvs | bigint | ÐолиÑеÑÑво полÑÑеннÑÑ ÑообÑений IPC |
nsignals | bigint | ÐолиÑеÑÑво полÑÑеннÑÑ Ñигналов |
nvcsws | bigint | ÐолиÑеÑÑво «добÑоволÑнÑÑ Â» пеÑеклÑÑений конÑекÑÑа |
nivcsws | bigint | ÐолиÑеÑÑво пÑинÑдиÑелÑнÑÑ Ð¿ÐµÑеклÑÑений конÑекÑÑа |
F.37.6. ФÑнкÑии
-
pgpro_stats_statements_reset(userid Oid, dbid Oid, queryid bigint, planid bigint, minmax_only boolean) returns timestamp with time zone ФÑнкÑиÑ
pgpro_stats_statements_resetоÑиÑÐ°ÐµÑ Ð²ÑÑ ÑÑаÑиÑÑикÑ, ÑобÑаннÑÑ Ðº ÑÑÐ¾Ð¼Ñ Ð²Ñемени модÑлемpgpro_statsÐ´Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ полÑзоваÑÐµÐ»Ñ (userid), Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ (dbid), запÑоÑа (queryid) и плана (planid). Ð ÑлÑÑае оÑÑÑÑÑÑÐ²Ð¸Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ из паÑамеÑÑов Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ подÑазÑмеваеÑÑÑ Ð½Ñлевое знаÑение (непÑименимое огÑаниÑение) и оÑиÑаеÑÑÑ ÑÑаÑиÑÑика, ÑооÑвеÑÑÑвÑÑÑÐ°Ñ Ð´ÑÑгим паÑамеÑÑам. ÐÑли никакой паÑамеÑÑ Ð½Ðµ задан или вÑе паÑамеÑÑÑ Ð¸Ð¼ÐµÑÑ Ð½Ñлевое знаÑение (непÑименимое), оÑиÑаеÑÑÑ Ð²ÑÑ ÑÑаÑиÑÑика. ÐмеÑÑе Ñ Ð¾ÑиÑÑкой вÑей ÑÑаÑиÑÑики вpgpro_stats_statementsÑакже ÑбÑаÑÑваеÑÑÑ ÑÑаÑиÑÑика вpgpro_stats_info. Ðогда Ð´Ð»Ñ Ð¿Ð°ÑамеÑÑаminmax_onlyÑÑÑановлено знаÑениеtrue, ÑбÑаÑÑваÑÑÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ ÑолÑко минималÑного и макÑималÑного вÑемени планиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¾Ð¿ÐµÑаÑоÑа (Ñ. е. знаÑÐµÐ½Ð¸Ñ ÑÑолбÑовmin_plan_time,max_plan_time,min_exec_timeиmax_exec_time). ÐнаÑениеminmax_onlyпо ÑмолÑÐ°Ð½Ð¸Ñ âfalse. ÐÑÐµÐ¼Ñ Ð¿Ð¾Ñледнего ÑбÑоÑа минималÑнÑÑ /макÑималÑнÑÑ Ð·Ð½Ð°Ñений можно ÑвидеÑÑ Ð² ÑÑолбÑеminmax_stats_sinceпÑедÑÑавлениÑpgpro_stats_statements. ФÑнкÑÐ¸Ñ Ð²Ð¾Ð·Ð²ÑаÑÐ°ÐµÑ Ð²ÑÐµÐ¼Ñ ÑбÑоÑа ÑÑаÑиÑÑики. ÐÑо вÑÐµÐ¼Ñ Ð·Ð°Ð¿Ð¸ÑÑваеÑÑÑ Ð² полеstats_resetпÑедÑÑавлениÑpgpro_stats_infoилиminmax_stats_sinceпÑедÑÑавлениÑpgpro_stats_statements, еÑли ÑооÑвеÑÑÑвÑÑÑий ÑбÑÐ¾Ñ Ð·Ð½Ð°Ñений бÑл дейÑÑвиÑелÑно вÑполнен. Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑÑÑ ÑÑнкÑÐ¸Ñ Ð¼Ð¾Ð³ÑÑ Ð²ÑполнÑÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели. ÐÑÑгим полÑзоваÑелÑм можно даÑÑ Ð´Ð¾ÑÑÑп к ней, иÑполÑзÑÑGRANT.ÐÑимеÑание
ÐоÑколÑÐºÑ ÑÑаÑиÑÑика в пÑедÑÑавлениÑÑ
pgpro_stats_vacuum_database,pgpro_stats_vacuum_tablesиpgpro_stats_vacuum_indexesÑобиÑаеÑÑÑ ÑдÑом ÑиÑÑемÑ, Ð´Ð»Ñ ÐµÑ ÑбÑоÑа вÑзовиÑе ÑÑнкÑиÑpg_stat_reset( )(за подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº ÐодÑазделÑ 26.2.3).-
pgpro_stats_statements(showtext boolean) returns setof record ÐÑедÑÑавление
pgpro_stats_statementsопÑеделÑеÑÑÑ ÐºÐ°Ðº ÑезÑлÑÑÐ°Ñ Ð²Ñзова одноимÑнной ÑÑнкÑии. ФÑнкÑиÑpgpro_stats_statementsможно Ñакже вÑзÑваÑÑ Ð½ÐµÐ¿Ð¾ÑÑедÑÑвенно, а Ñ Ð°ÑгÑменÑомshowtext := falseможно полÑÑиÑÑ ÑезÑлÑÑÐ°Ñ Ð±ÐµÐ· ÑекÑÑа запÑоÑа (Ñо еÑÑÑ Ð² вÑÑ Ð¾Ð´Ð½Ð¾Ð¼ аÑгÑменÑе, ÑооÑвеÑÑÑвÑÑÑем ÑÑолбÑÑ Ð¿ÑедÑÑавлениÑquery, бÑÐ´ÐµÑ Ð²ÑдаваÑÑÑÑ null). ÐÑа возможноÑÑÑ Ð¿ÑедÑÑмоÑÑена Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ Ð²Ð½ÐµÑние ÑÑедÑÑва мониÑоÑинга могли не загÑÑжаÑÑ ÐºÐ°Ð¶Ð´Ñй Ñаз ÑекÑÑ Ð·Ð°Ð¿ÑоÑов, коÑоÑÑй Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð´Ð¾Ð²Ð¾Ð»Ñно обÑÑмнÑм. СÑедÑÑво мониÑоÑинга Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑоÑÑо один Ñаз запомниÑÑ ÑекÑÑ Ð·Ð°Ð¿ÑоÑов Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ запиÑи в пÑедÑÑавлении (как ÑÑо и Ð´ÐµÐ»Ð°ÐµÑ Ñам модÑлÑpgpro_stats) и заÑем запÑаÑиваÑÑ ÑекÑÑ Ð´Ð»Ñ Ð½Ð¾Ð²ÑÑ Ð·Ð°Ð¿ÑоÑов ÑолÑко пÑи Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи. Так как ÑеÑÐ²ÐµÑ ÑÐ¾Ñ ÑанÑÐµÑ ÑекÑÑ Ð·Ð°Ð¿ÑоÑов в Ñайле, пÑи Ñаком Ð¿Ð¾Ð´Ñ Ð¾Ð´Ðµ поÑÑоÑнное ÑÑение ÑодеÑжимогоpgpro_stats_statementsбÑÐ´ÐµÑ ÑоздаваÑÑ Ð¼ÐµÐ½ÑÑÑÑ Ð½Ð°Ð³ÑÑÐ·ÐºÑ Ð½Ð° ввод/вÑвод.-
pgpro_stats_info() returns record ÐÑедÑÑавление
pgpro_stats_infoпоÑÑÑоено на базе одноимÑнной ÑÑнкÑии, коÑоÑÑÑ Ð¿Ð¾Ð»ÑзоваÑели Ñакже могÑÑ Ð²ÑзÑваÑÑ Ð½ÐµÐ¿Ð¾ÑÑедÑÑвенно.-
pgpro_stats_totals_reset(type text, id bigint) returns timestamp with timezone ФÑнкÑиÑ
pgpro_stats_totals_resetоÑиÑÐ°ÐµÑ Ð²ÑÑ ÑÑаÑиÑÑикÑ, ÑобÑаннÑÑ Ðº ÑÑÐ¾Ð¼Ñ Ð²Ñемени модÑлемpgpro_statsÐ´Ð»Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ Ñипа (type) и иденÑиÑикаÑоÑа (id) обÑекÑа. Ð ÑлÑÑае оÑÑÑÑÑÑÐ²Ð¸Ñ Ð¿Ð°ÑамеÑÑов или когда паÑамеÑÑtypeÑавен0, оÑиÑаеÑÑÑ Ð²ÑÑ ÑÑаÑиÑÑика. ÐÑли в паÑамеÑÑеtypeпеÑедаÑÑÑÑ ÐºÐ¾ÑÑекÑнÑй Ñип обÑекÑа, Ñо в ÑлÑÑае ÑказаниÑidоÑиÑаеÑÑÑ ÑÑаÑиÑÑика ÑолÑко Ð´Ð»Ñ Ð¾Ð±ÑекÑа Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñм иденÑиÑикаÑоÑом, а в оÑÑÑÑÑÑвие Ñакого ÑÐºÐ°Ð·Ð°Ð½Ð¸Ñ â Ð´Ð»Ñ Ð²ÑÐµÑ Ð¾Ð±ÑекÑов заданного Ñипа. ÐÑли же паÑамеÑÑtypeне задаÑÑ ÑÑÑеÑÑвÑÑÑий Ñип обÑекÑа, Ð½Ð¸ÐºÐ°ÐºÐ°Ñ ÑÑаÑиÑÑика не оÑиÑаеÑÑÑ. ÐÑа ÑÑнкÑÐ¸Ñ Ð²Ð¾Ð·Ð²ÑаÑÐ°ÐµÑ Ð²ÑÐµÐ¼Ñ Ð²ÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¾ÑиÑÑки. Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑÑÑ ÑÑнкÑÐ¸Ñ Ð¼Ð¾Ð³ÑÑ Ð²ÑполнÑÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели. ÐÑÑгим полÑзоваÑелÑм можно даÑÑ Ð´Ð¾ÑÑÑп к ней, иÑполÑзÑÑGRANT.-
pgpro_stats_totals() returns setof record ÐÑедÑÑавление
pgpro_stats_totalsпоÑÑÑоено на базе одноимÑнной ÑÑнкÑии, коÑоÑÑÑ Ð¿Ð¾Ð»ÑзоваÑели Ñакже могÑÑ Ð²ÑзÑваÑÑ Ð½ÐµÐ¿Ð¾ÑÑедÑÑвенно.-
pgpro_stats_metrics() returns setof record ÐпÑеделÑÐµÑ Ð¿ÑедÑÑавление
pgpro_stats_metrics, опиÑанное подÑобно в ТаблиÑе F.94.-
pgpro_stats_get_archiver() returns setof record ÐпÑеделÑÐµÑ Ð¿ÑедÑÑавление
pgpro_stats_archiver, опиÑанное подÑобно в ТаблиÑе F.95.-
pgpro_stats_wal_sender_crc_errors() returns bigint Ð Postgres Pro Enterprise возвÑаÑÐ°ÐµÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво оÑибок, обнаÑÑженнÑÑ Ð¿ÑоÑеÑÑом-пеÑедаÑÑиком WAL, когда паÑамеÑÑ
wal_sender_check_crcвклÑÑÑн (on). Ð Postgres Pro Standard возвÑаÑÐ°ÐµÑ Ð½Ð¾Ð»Ñ. ÐбÑаÑиÑе внимание, ÑÑо пÑи пеÑезапÑÑке клаÑÑеÑа ÑÑÐ¾Ñ ÑÑÑÑÑик ÑбÑаÑÑваеÑÑÑ Ð´Ð¾ нÑлÑ.-
pgpro_stats_vacuum_database(dboid oid) returns setof record ÐпÑеделÑÐµÑ ÑÑÑÐ¾ÐºÑ Ð¿ÑедÑÑавлениÑ
pgpro_stats_vacuum_database, коÑоÑое подÑобно опиÑано в ТаблиÑе F.96, Ð´Ð»Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , Ñказанной вdboid.-
pgpro_stats_vacuum_tables(dboid oid, relid oid) returns setof record ÐпÑеделÑÐµÑ ÑÑÑÐ¾ÐºÑ Ð¿ÑедÑÑавлениÑ
pgpro_stats_vacuum_tables, коÑоÑое подÑобно опиÑано в ТаблиÑе F.97, Ð´Ð»Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , Ñказанной вdboid, и ÑаблиÑÑ, Ñказанной вreloid. ÐÑлиreloid= 0, возвÑаÑаеÑÑÑ ÑÑаÑиÑÑика Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ ÑаблиÑÑ Ð² Ñказанной базе даннÑÑ .-
pgpro_stats_vacuum_indexes(dboid oid, relid oid) returns setof record ÐпÑеделÑÐµÑ ÑÑÑÐ¾ÐºÑ Ð¿ÑедÑÑавлениÑ
pgpro_stats_vacuum_indexes, коÑоÑое подÑобно опиÑано в ТаблиÑе F.98, Ð´Ð»Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , Ñказанной вdboid, и ÑаблиÑÑ, Ñказанной вreloid. ÐÑлиreloid= 0, возвÑаÑаеÑÑÑ ÑÑаÑиÑÑика Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ индекÑа в Ñказанной базе даннÑÑ .
F.37.6.1. ФÑнкÑии ÑÑаÑÑиÑовки ÑеанÑов
Ð ÑаÑÑиÑении pgpro_stats Ñеализована ÑÑаÑÑиÑовка ÑеанÑов пÑиложений. Ðна оÑнована на ÑилÑÑÑÐ°Ñ , коÑоÑÑе запÑÑкаÑÑ Ð¿ÑоÑоколиÑование вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿ÑоÑов, ÑооÑвеÑÑÑвÑÑÑÐ¸Ñ ÑÑловиÑм ÑилÑÑÑаÑии. ÐапÑоÑÑ Ð¸ Ð¸Ñ Ð¿Ð»Ð°Ð½Ñ Ð·Ð°Ð¿Ð¸ÑÑваÑÑÑÑ Ð² Ñак назÑваемÑе ÑÐ°Ð¹Ð»Ñ ÑÑаÑÑиÑовки, ÑказаннÑе полÑзоваÑелем, или в Ñайл ÑиÑÑемного жÑÑнала (еÑли Ñайл ÑÑаÑÑиÑовки не Ñказан). ФилÑÑÑÑ Ñ ÑанÑÑÑÑ Ð² ÑаблиÑе, Ð½Ð°Ñ Ð¾Ð´ÑÑейÑÑ Ð² обÑей памÑÑи. СÑÑоки ÑÑой ÑаблиÑÑ ÑвлÑÑÑÑÑ ÑилÑÑÑами, а ÑÑолбÑÑ ÑодеÑÐ¶Ð°Ñ ÑÑÐ»Ð¾Ð²Ð¸Ñ ÑилÑÑÑаÑии. ЧÑÐ¾Ð±Ñ Ð½Ð°ÑаÑÑ ÑÑаÑÑиÑÐ¾Ð²ÐºÑ Ð·Ð°Ð¿ÑоÑов, ÑледÑÐµÑ Ð·Ð°Ð¿Ð¾Ð»Ð½Ð¸ÑÑ ÑÑÑ ÑаблиÑÑ ÑилÑÑÑами.
Ðак ÑолÑко админиÑÑÑаÑÐ¾Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ ÑилÑÑÑ Ð² каком-либо ÑеанÑе, вÑе поÑледÑÑÑие вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð·Ð°Ð¿ÑоÑов, ÑооÑвеÑÑÑвÑÑÑÐ¸Ñ ÑÑловиÑм ÑилÑÑÑа, бÑдÑÑ ÑÑаÑÑиÑоваÑÑÑÑ Ð²Ñеми ÑеанÑами ÑкземплÑÑа СУÐРбез Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи пеÑезапÑÑка ÑеÑвеÑа. ÐÑÑгими Ñловами, ÑилÑÑÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ добавлÑÑÑ, ÑдалÑÑÑ Ð¸Ð»Ð¸ изменÑÑÑ Â«Ð½Ð° леÑÑ», и ÑÑаÑÑиÑовка Ñ ÑÑими ÑилÑÑÑами ÑÑÐ°Ð·Ñ Ð¶Ðµ наÑнÑÑÑÑ Ð´Ð»Ñ ÑÑÑеÑÑвÑÑÑÐ¸Ñ Ð¸ бÑдÑÑÐ¸Ñ ÑеанÑов.
ÐаждÑй ÑилÑÑÑ Ð²ÐºÐ»ÑÑаеÑ:
ÐденÑиÑиÑиÑÑÑÑие полÑ, Ñакие как
username,client_addr,database_name,pidилиapplication_name(за подÑобноÑÑÑми обÑаÑиÑеÑÑ Ðº ТаблиÑе F.100). ÐÑполнение опеÑаÑоÑа бÑÐ´ÐµÑ ÑÑаÑÑиÑоваÑÑÑÑ, еÑли его Ñ Ð°ÑакÑеÑиÑÑики в ÑекÑÑем ÑеанÑе ÑовпадаÑÑ Ñо знаÑениÑми ÑооÑвеÑÑÑвÑÑÑÐ¸Ñ Ð¸Ð´ÐµÐ½ÑиÑиÑиÑÑÑÑÐ¸Ñ Ð¿Ð¾Ð»ÐµÐ¹ ÑилÑÑÑа.РеÑÑÑÑнÑе полÑ, оÑ
durationдоtotal_inval_msgsв ТаблиÑа F.100. ÐÑполнение опеÑаÑоÑа бÑÐ´ÐµÑ ÑÑаÑÑиÑоваÑÑÑÑ, еÑли ÑеÑÑÑÑнÑе ÑÑаÑиÑÑики ÑекÑÑего вÑÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¾Ð¿ÐµÑаÑоÑа пÑевÑÑÑÑ Ð¿ÑеделÑ, ÑказаннÑе в ÑооÑвеÑÑÑвÑÑÑÐ¸Ñ ÑеÑÑÑÑнÑÑ Ð¿Ð¾Ð»ÑÑ ÑилÑÑÑа.ÐолÑ, опÑеделÑÑÑие паÑамеÑÑÑ
EXPLAIN. Ðни позволÑÑÑ ÑпÑавлÑÑÑ Ð²ÑводомEXPLAINв Ñайл ÑÑаÑÑиÑовки или Ñайл ÑиÑÑемного жÑÑнала.
ÐÑедÑпÑеждение
ХоÑÑ Ð¿Ñи задании ÑилÑÑÑа можно ÑÑÑанавливаÑÑ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ð»Ñбой комбинаÑии полей ÑилÑÑÑа, имейÑе в видÑ, ÑÑо ÑлиÑком обÑий ÑилÑÑÑ Ð¿ÑиведÑÑ Ðº ÑÑезмеÑÐ½Ð¾Ð¼Ñ ÑвелиÑÐµÐ½Ð¸Ñ ÑазмеÑа Ñайла ÑÑаÑÑиÑовки и замеÑно повлиÑÐµÑ Ð½Ð° пÑоизводиÑелÑноÑÑÑ, поÑколÑÐºÑ Ð¾ÑновнÑе издеÑжки ÑвÑÐ·Ð°Ð½Ñ Ñ Ð·Ð°Ð¿Ð¸ÑÑÑ Ð² Ñайл ÑÑаÑÑиÑовки, а не Ñ Ð¿ÑовеÑкой ÑÑловий ÑилÑÑÑа.
СпеÑиалÑнÑе ÑÑнкÑии позволÑÑÑ ÑоздаваÑÑ, изменÑÑÑ Ð¸ ÑдалÑÑÑ ÑилÑÑÑÑ Ð·Ð°Ð¿ÑоÑов:
-
pgpro_stats_trace_insert(VARIADIC "any") returns integer ÐобавлÑÐµÑ ÑилÑÑÑ Ð² ÑпиÑок ÑилÑÑÑов ÑÑаÑÑиÑовки ÑеанÑов. ФилÑÑÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ пеÑедаваÑÑÑÑ ÐºÐ°Ðº поÑледоваÑелÑноÑÑÑ ÑеÑедÑÑÑÐ¸Ñ ÑÑ Ð¿Ð°Ñ ÐºÐ»ÑÑ/знаÑение. ÐапÑÐ¸Ð¼ÐµÑ Ñак:
pgpro_stats_trace_insert('pid', 42, 'database', 'main', 'explain_analyze', true)СпиÑок доÑÑÑпнÑÑ ÑилÑÑÑов Ñказан в ТаблиÑе F.100. ÐнаÑÐµÐ½Ð¸Ñ NULL не допÑÑкаÑÑÑÑ, поÑÑÐ¾Ð¼Ñ Ð¿ÑопÑÑÑиÑе полÑ, коÑоÑÑе могÑÑ Ð¿ÑинимаÑÑ Ð»ÑбÑе знаÑениÑ. ÐозвÑаÑÐ°ÐµÑ Ð¸Ð´ÐµÐ½ÑиÑикаÑÐ¾Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÐµÐ½Ð½Ð¾Ð³Ð¾ ÑилÑÑÑа.
-
pgpro_stats_trace_update(filter_id integer, VARIADIC "any") returns boolean ÐзменÑÐµÑ ÑилÑÑÑ ÑÑаÑÑиÑовки ÑеанÑа, заданнÑй паÑамеÑÑом
filter_id. ÐзменÑемÑе Ð¿Ð¾Ð»Ñ ÑилÑÑÑа Ð´Ð¾Ð»Ð¶Ð½Ñ Ð±ÑÑÑ Ð¿ÐµÑÐµÐ´Ð°Ð½Ñ ÐºÐ°Ðº поÑледоваÑелÑноÑÑÑ ÑеÑедÑÑÑÐ¸Ñ ÑÑ Ð¿Ð°Ñ ÐºÐ»ÑÑ/знаÑение. ÐопÑÑÑÐ¸Ð¼Ñ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ NULL. СпиÑок доÑÑÑпнÑÑ ÑилÑÑÑов Ñказан в ТаблиÑе F.100. ÐÑи ÑÑпеÑном изменении возвÑаÑÐ°ÐµÑ true, в пÑоÑивном ÑлÑÑае â false.-
pgpro_stats_trace_delete(filter_id integer) returns boolean УдалÑÐµÑ ÑилÑÑÑ ÑÑаÑÑиÑовки ÑеанÑа, заданнÑй паÑамеÑÑом
filter_id. ÐÑи ÑÑпеÑном Ñдалении возвÑаÑÐ°ÐµÑ true, в пÑоÑивном ÑлÑÑае â false.-
pgpro_stats_trace_reset() returns integer УдалÑÐµÑ Ð²Ñе ÑилÑÑÑÑ ÑÑаÑÑиÑовки ÑеанÑов. ÐозвÑаÑÐ°ÐµÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво ÑдалÑннÑÑ ÑилÑÑÑов. Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑÑÑ ÑÑнкÑÐ¸Ñ Ð¼Ð¾Ð³ÑÑ Ð²ÑполнÑÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели. ÐÑÑгим полÑзоваÑелÑм можно даÑÑ Ð´Ð¾ÑÑÑп к ней, иÑполÑзÑÑ
GRANT.-
pgpro_stats_trace_show() returns setof record ÐÑобÑÐ°Ð¶Ð°ÐµÑ Ð²Ñе ÑилÑÑÑÑ Ð·Ð°Ð¿ÑоÑов, добавленнÑе полÑзоваÑелем Ð´Ð»Ñ ÑÑаÑÑиÑовки. ÐÑи ÑилÑÑÑÑ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ñ Ð² ТаблиÑе F.100.
ТаблиÑа F.100. ÐÑвод ÑÑнкÑии
pgpro_stats_trace_show()Name Тип ÐпиÑание filter_idintegerÐденÑиÑикаÑÐ¾Ñ ÑилÑÑÑа, нÑмеÑаÑÐ¸Ñ Ð¾Ñ 1. activebooleanÐÐ¼ÐµÐµÑ Ð·Ð½Ð°Ñение true, еÑли ÑилÑÑÑ Ð°ÐºÑивен. Ðо ÑмолÑаниÑ: true. aliasnameÐÐ¼Ñ ÑилÑÑÑа tracefilenameÐÐ¼Ñ Ñайла ÑÑаÑÑиÑовки. Ð¤Ð°Ð¹Ð»Ñ ÑÑаÑÑиÑовки ÑоздаÑÑÑÑ Ð² каÑалоге и имеÑÑ ÑаÑÑиÑениеPGDATA/pg_stattrace.pidintegerÐденÑиÑикаÑÐ¾Ñ Ð¾Ð±ÑлÑживаÑÑего пÑоÑеÑÑа, коÑоÑÑй вÑполнÑÐµÑ Ð¾Ð¿ÑеделÑннÑй опеÑаÑÐ¾Ñ database_namenameÐÐ¼Ñ Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ , в коÑоÑой вÑполнÑеÑÑÑ Ð¾Ð¿ÑеделÑннÑй опеÑаÑÐ¾Ñ client_addrnameIP-адÑÐµÑ ÐºÐ»Ð¸ÐµÐ½Ñа, подклÑÑÑнного к ÑÑÐ¾Ð¼Ñ Ð¾Ð±ÑлÑживаÑÑÐµÐ¼Ñ Ð¿ÑоÑеÑÑÑ application_namenameÐÐ¼Ñ Ð¿ÑиложениÑ, вÑзвавÑего вÑполнение опеÑаÑоÑа usernamenameÐÐ¼Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ, вÑполнÑÑÑего опеÑаÑÐ¾Ñ queryidbigintÐнÑÑÑенний Ñ ÐµÑ-код, вÑÑиÑленнÑй Ð´Ð»Ñ Ð´ÐµÑева ÑазбоÑа опеÑаÑоÑа planidbigintÐнÑÑÑенний Ñ ÐµÑ-код, вÑÑиÑленнÑй Ð´Ð»Ñ Ð´ÐµÑева плана опеÑаÑоÑа durationfloat8ÐÑемÑ, заÑÑаÑенное на планиÑование и вÑполнение опеÑаÑоÑа, в миллиÑекÑÐ½Ð´Ð°Ñ plan_timefloat8ÐÑемÑ, заÑÑаÑенное на планиÑование опеÑаÑоÑа, в миллиÑекÑÐ½Ð´Ð°Ñ exec_timefloat8ÐÑемÑ, заÑÑаÑенное на вÑполнение опеÑаÑоÑа, в миллиÑекÑÐ½Ð´Ð°Ñ user_timefloat8ÐÑÐµÐ¼Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑоÑеÑÑоÑа в полÑзоваÑелÑÑком Ñежиме, заÑÑаÑенное на планиÑование и вÑполнение опеÑаÑоÑа system_timefloat8ÐÑÐµÐ¼Ñ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿ÑоÑеÑÑоÑа в Ñежиме ÑдÑа, заÑÑаÑенное на планиÑование и вÑполнение опеÑаÑоÑа rowsint8ÐбÑее ÑиÑло ÑÑÑок, полÑÑеннÑÑ Ð¸Ð»Ð¸ заÑÑонÑÑÑÑ Ð¾Ð¿ÐµÑаÑоÑом shared_blks_hitint8ÐбÑее ÑиÑло попаданий ÑазделÑемÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð² в ÐºÐµÑ Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ опеÑаÑоÑа shared_blks_readint8ÐбÑее ÑиÑло ÑазделÑемÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², пÑоÑиÑаннÑÑ Ð´Ð°Ð½Ð½Ñм опеÑаÑоÑом shared_blks_fetchedint8ÐбÑее ÑиÑло ÑазделÑемÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², пÑоÑиÑаннÑÑ Ð´Ð°Ð½Ð½Ñм опеÑаÑоÑом из бÑÑеÑов shared_blks_dirtiedint8ÐбÑее ÑиÑло ÑазделÑемÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², «загÑÑзнÑннÑÑ Â» даннÑм опеÑаÑоÑом shared_blks_writtenint8ÐбÑее ÑиÑло ÑазделÑемÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², запиÑаннÑÑ Ð´Ð°Ð½Ð½Ñм опеÑаÑоÑом local_blks_hitint8ÐбÑее ÑиÑло попаданий локалÑнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð² в ÐºÐµÑ Ð´Ð»Ñ Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ опеÑаÑоÑа local_blks_readint8ÐбÑее ÑиÑло локалÑнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², пÑоÑиÑаннÑÑ Ð´Ð°Ð½Ð½Ñм опеÑаÑоÑом local_blks_fetchedint8ÐбÑее ÑиÑло локалÑнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², пÑоÑиÑаннÑÑ Ð´Ð°Ð½Ð½Ñм опеÑаÑоÑом из бÑÑеÑов local_blks_dirtiedint8ÐбÑее ÑиÑло локалÑнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², «загÑÑзнÑннÑÑ Â» даннÑм опеÑаÑоÑом local_blks_writtenint8ÐбÑее ÑиÑло локалÑнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², запиÑаннÑÑ Ð´Ð°Ð½Ð½Ñм опеÑаÑоÑом temp_blks_readint8ÐбÑее ÑиÑло вÑеменнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², пÑоÑиÑаннÑÑ Ð´Ð°Ð½Ð½Ñм опеÑаÑоÑом temp_blks_writtenint8ÐбÑее ÑиÑло вÑеменнÑÑ Ð±Ð»Ð¾ÐºÐ¾Ð², запиÑаннÑÑ Ð´Ð°Ð½Ð½Ñм опеÑаÑоÑом wal_bytesnumericÐбÑий обÑÑм WAL (в байÑÐ°Ñ ), ÑгенеÑиÑованнÑй пÑи вÑполнении опеÑаÑоÑа total_wait_timefloat8ÐбÑее вÑемÑ, заÑÑаÑенное на ожидание пÑи вÑполнении ÑÑого опеÑаÑоÑа total_inval_msgsbigintÐбÑее ÑиÑло ÑообÑений аннÑлиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐºÐµÑа, вÑданнÑÑ Ð¿Ñи вÑполнении опеÑаÑоÑа (еÑли ÑÑо поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑеÑвеÑ) explain_analyzebooleanÐÑи знаÑении true вÑвод EXPLAINбÑÐ´ÐµÑ Ð¿ÑоÑоколиÑоваÑÑÑÑ Ñ Ð¿Ð°ÑамеÑÑомANALYZE. Ðо ÑмолÑаниÑ: false.explain_verbosebooleanÐÑи знаÑении true вÑвод EXPLAINбÑÐ´ÐµÑ Ð¿ÑоÑоколиÑоваÑÑÑÑ Ñ Ð¿Ð°ÑамеÑÑомVERBOSE. Ðо ÑмолÑаниÑ: false.explain_costsbooleanÐÑи знаÑении true вÑвод EXPLAINбÑÐ´ÐµÑ Ð¿ÑоÑоколиÑоваÑÑÑÑ Ñ Ð¿Ð°ÑамеÑÑомCOSTS. Ðо ÑмолÑаниÑ: true.explain_settingsbooleanÐÑи знаÑении true вÑвод EXPLAINбÑÐ´ÐµÑ Ð¿ÑоÑоколиÑоваÑÑÑÑ Ñ Ð¿Ð°ÑамеÑÑомSETTINGS. Ðо ÑмолÑаниÑ: false.explain_buffersbooleanÐÑи знаÑении true вÑвод EXPLAINбÑÐ´ÐµÑ Ð¿ÑоÑоколиÑоваÑÑÑÑ Ñ Ð¿Ð°ÑамеÑÑомBUFFERS. Ðо ÑмолÑаниÑ: false.explain_walbooleanÐÑи знаÑении true вÑвод EXPLAINбÑÐ´ÐµÑ Ð¿ÑоÑоколиÑоваÑÑÑÑ Ñ Ð¿Ð°ÑамеÑÑомWAL. Ðо ÑмолÑаниÑ: false.explain_timingbooleanÐÑи знаÑении true вÑвод EXPLAINбÑÐ´ÐµÑ Ð¿ÑоÑоколиÑоваÑÑÑÑ Ñ Ð¿Ð°ÑамеÑÑомTIMING. Ðо ÑмолÑаниÑ: false.explain_formattextÐнаÑение паÑамеÑÑа FORMATпÑоÑоколиÑÑемой командÑEXPLAIN, коÑоÑое Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ TEXT, XML, JSON или YAML. Ðо ÑмолÑаниÑ:TEXT
ÐÑÐ¸Ð¼ÐµÑ F.2. ÐÑполÑзование ÑÑнкÑий ÑÑаÑÑиÑовки ÑеанÑов
ÐобавÑÑе ÑилÑÑÑ first:
SELECT pgpro_stats_trace_insert('alias', 'first', 'pid', pg_backend_pid(), 'explain_analyze', true); ÐобавÑÑе ÑилÑÑÑ second и ÑкажиÑе пÑоÑоколиÑование в Ñайл ÑÑаÑÑиÑовки second_tf.trace:
SELECT pgpro_stats_trace_insert('alias', 'second', 'database_name', current_database(), 'explain_costs', false, 'tracefile', 'second_tf');ТаблиÑÑ Ñ ÑилÑÑÑами можно поÑмоÑÑеÑÑ ÑледÑÑÑим обÑазом:
\x auto SELECT * from pgpro_stats_trace_show();
-[ RECORD 1 ]-------+---------- filter_id | 1 active | t alias | first tracefile | pid | 243183 database_name | client_addr | application_name | username | queryid | planid | duration | plan_time | exec_time | user_time | system_time | rows | shared_blks_hit | shared_blks_read | shared_blks_fetched | shared_blks_dirtied | shared_blks_written | local_blks_hit | local_blks_read | local_blks_fetched | local_blks_dirtied | local_blks_written | temp_blks_read | temp_blks_written | wal_bytes | total_wait_time | total_inval_msgs | explain_analyze | t explain_verbose | f explain_costs | t explain_settings | f explain_buffers | f explain_wal | f explain_timing | t explain_format | text -[ RECORD 2 ]-------+---------- filter_id | 2 active | t alias | second tracefile | second_tf pid | database_name | postgres client_addr | application_name | username | queryid | planid | duration | plan_time | exec_time | user_time | system_time | rows | shared_blks_hit | shared_blks_read | shared_blks_fetched | shared_blks_dirtied | shared_blks_written | local_blks_hit | local_blks_read | local_blks_fetched | local_blks_dirtied | local_blks_written | temp_blks_read | temp_blks_written | wal_bytes | total_wait_time | total_inval_msgs | explain_analyze | f explain_verbose | f explain_costs | f explain_settings | f explain_buffers | f explain_wal | f explain_timing | f explain_format | text
СледÑÑÑий запÑÐ¾Ñ ÑооÑвеÑÑÑвÑÐµÑ ÑÑловиÑм Ð¾Ð±Ð¾Ð¸Ñ ÑилÑÑÑов, поÑÑÐ¾Ð¼Ñ Ð¾Ð½ должен бÑÑÑ Ð·Ð°Ð¿Ð¸Ñан в Ñайл ÑиÑÑемного жÑÑнала и в ÑказаннÑй Ñайл ÑÑаÑÑиÑовки:
SELECT 1 as result;
ÐÑвод в Ñайл ÑиÑÑемного жÑÑнала вÑглÑÐ´Ð¸Ñ Ñак:
-- :: MSK [] LOG: Filter 1 triggered explain of the plan: Query Text: SELECT 1 as result; Result (cost=0.00..0.01 rows=1 width=4) (actual time=0.003..0.003 rows=1 loops=1)
Ðиже пÑиведÑн вÑвод Ñайла ÑÑаÑÑиÑовки second_tf.trace:
Query Text: SELECT 1 as result; Result
УдалиÑе пеÑвÑй ÑилÑÑÑ:
SELECT pgpro_stats_trace_delete(1);
Также измениÑе знаÑение pid на 2 Ð´Ð»Ñ Ð²ÑоÑого ÑилÑÑÑа
SELECT pgpro_stats_trace_update(2, 'pid', 2);
ÐÑи вÑполнении запÑоÑа
SELECT 2 as result;
он не запиÑÑваеÑÑÑ Ð² second_tf.trace.
УдалиÑе вÑе ÑилÑÑÑÑ Ð¸Ð· ÑаблиÑÑ:
SELECT pgpro_stats_trace_reset();
F.37.6.2. ФÑнкÑии Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿ÑедÑÑавлений, ÑмÑлиÑÑÑÑÐ¸Ñ Ð´ÑÑгие ÑаÑÑиÑениÑ
Ð ÑаÑÑиÑении pgpro_stats пÑедÑÑмоÑÑена возможноÑÑÑ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿ÑедÑÑавлений, аналогиÑнÑÑ
Ñем, коÑоÑÑе ÑоздаÑÑÑÑ ÑаÑÑиÑениÑми pg_stat_statements и pg_stat_kcache. Ðожно ÑоздаÑÑ Ð¿ÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ pg_stat_statements, pg_stat_statements_info, pg_stat_kcache и pg_stat_kcache_detail. Ðаждое пÑедÑÑавление ÑоздаÑÑÑÑ Ð² веÑÑии Postgres Pro, ÑолÑко еÑли оно доÑÑÑпно в ÑаÑÑиÑении pg_stat_statements/pg_stat_kcache Ð´Ð»Ñ Ñой же веÑÑии Postgres Pro/PostgreSQL. ÐапÑимеÑ, пÑедÑÑавление pg_stat_statements_info ÑоздаÑÑÑÑ ÑолÑко в веÑÑиÑÑ
Postgres Pro 14 и вÑÑе. ÐÑи пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð³ÑÑ Ð±ÑÑÑ ÑÐ¾Ð·Ð´Ð°Ð½Ñ ÑледÑÑÑими ÑÑнкÑиÑми:
-
pgpro_stats_create_pg_stat_statements_compatible_views() returns void СоздаÑÑ Ð¿ÑедÑÑавлениÑ
pg_stat_statementsиpg_stat_statements_info.-
pgpro_stats_create_pg_stat_kcache_compatible_views() returns void СоздаÑÑ Ð¿ÑедÑÑавлениÑ
pg_stat_kcacheиpg_stat_kcache_detail.
Ðо ÑмолÑÐ°Ð½Ð¸Ñ ÑÑи ÑÑнкÑии могÑÑ Ð²ÑполнÑÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели. ÐÑÑгим полÑзоваÑелÑм можно даÑÑ Ð´Ð¾ÑÑÑп к ним, иÑполÑзÑÑ GRANT.
ÐÐ»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿ÑедÑÑавлений pg_stat_statements* необÑ
одимо ÑдалиÑÑ ÑаÑÑиÑение pg_stat_statements, еÑли оно бÑло ÑÑÑановлено Ñанее, и вÑзваÑÑ ÑÑнкÑиÑ:
select pgpro_stats_create_pg_stat_statements_compatible_views();
ÐÐ»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿ÑедÑÑавлений pg_stat_kcache* необÑ
одимо ÑдалиÑÑ ÑаÑÑиÑение pg_stat_kcache, еÑли оно бÑло ÑÑÑановлено Ñанее, и вÑзваÑÑ ÑÑнкÑиÑ:
select pgpro_stats_create_pg_stat_kcache_compatible_views();
ÐоÑле ÑÑого Ñ ÑозданнÑми пÑедÑÑавлениÑми можно ÑабоÑаÑÑ Ñак же, как еÑли Ð±Ñ Ð±Ñли ÑÑÑÐ°Ð½Ð¾Ð²Ð»ÐµÐ½Ñ ÑооÑвеÑÑÑвÑÑÑие ÑаÑÑиÑениÑ.
УдалиÑÑ Ñанее ÑозданнÑе пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ обÑÑнÑм ÑпоÑобом:
drop view pg_stat_statements; drop view pg_stat_statements_info; drop view pg_stat_kcache; drop view pg_stat_kcache_detail;
F.37.7. ÐаÑамеÑÑÑ ÐºÐ¾Ð½ÑигÑÑаÑии
F.37.7.1. ÐÑновнÑе паÑамеÑÑÑ
pgpro_stats.max(integer)ÐаÑамеÑÑ
pgpro_stats.maxзадаÑÑ Ð¼Ð°ÐºÑималÑное ÑиÑло опеÑаÑоÑов, оÑÑлеживаемÑÑ Ð¼Ð¾Ð´Ñлем (Ñо еÑÑÑ Ð¼Ð°ÐºÑималÑное ÑиÑло ÑÑÑок в пÑедÑÑавленииpgpro_stats_statements). Ðогда на обÑабоÑÐºÑ Ð¿Ð¾ÑÑÑÐ¿Ð°ÐµÑ Ð±Ð¾Ð»ÑÑе, Ñем заданное ÑиÑло ÑазлиÑнÑÑ Ð¾Ð¿ÐµÑаÑоÑов, инÑоÑмаÑÐ¸Ñ Ð¾ Ñедко вÑполнÑемÑÑ Ð¾Ð¿ÐµÑаÑоÑÐ°Ñ Ð¾ÑбÑаÑÑваеÑÑÑ. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â 5000. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко пÑи запÑÑке ÑеÑвеÑа.pgpro_stats.max_totals(integer)ÐаÑамеÑÑ
pgpro_stats.max_totalsзадаÑÑ Ð¼Ð°ÐºÑималÑное ÑиÑло обÑекÑов, оÑÑлеживаемÑÑ Ð¼Ð¾Ð´Ñлем (Ñо еÑÑÑ Ð¼Ð°ÐºÑималÑное ÑиÑло ÑÑÑок в пÑедÑÑавленииpgpro_stats_totals). Ðогда колиÑеÑÑво наблÑдаемÑÑ Ð¾Ð±ÑекÑов пÑевÑÑÐ°ÐµÑ Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ðµ, инÑоÑмаÑÐ¸Ñ Ð¾ наименее акÑивно иÑполÑзÑемÑÑ Ð¾Ð±ÑекÑÐ°Ñ ÑдалÑеÑÑÑ. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ â 1000. ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко пÑи запÑÑке ÑеÑвеÑа.pgpro_stats.track(enum)ÐаÑамеÑÑ
pgpro_stats.trackопÑеделÑеÑ, какие опеÑаÑоÑÑ Ð±ÑдÑÑ Ð¾ÑÑлеживаÑÑÑÑ Ð¼Ð¾Ð´Ñлем. Со знаÑениемtopоÑÑлеживаÑÑÑÑ Ð¾Ð¿ÐµÑаÑоÑÑ Ð²ÐµÑÑ Ð½ÐµÐ³Ð¾ ÑÑÐ¾Ð²Ð½Ñ (Ñе, ÑÑо непоÑÑедÑÑвенно вÑполнÑÑÑÑÑ ÐºÐ»Ð¸ÐµÐ½Ñами), Ñо знаÑениемallÑакже оÑÑлеживаÑÑÑÑ Ð²Ð»Ð¾Ð¶ÐµÐ½Ð½Ñе опеÑаÑоÑÑ (напÑимеÑ, опеÑаÑоÑÑ, вÑзÑваемÑе внÑÑÑи ÑÑнкÑий) Ñ ÑÑовнем вложенноÑÑи не более 100, знаÑениеnoneполноÑÑÑÑ Ð¾ÑклÑÑÐ°ÐµÑ ÑÐ±Ð¾Ñ ÑÑаÑиÑÑики по опеÑаÑоÑам. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âtop. ÐзменÑÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð³ÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели.pgpro_stats.track_utility(boolean)ÐаÑамеÑÑ
pgpro_stats.track_utilityопÑеделÑеÑ, бÑÐ´ÐµÑ Ð»Ð¸ ÑÑÐ¾Ñ Ð¼Ð¾Ð´ÑÐ»Ñ Ð¾ÑÑлеживаÑÑ ÑлÑжебнÑе командÑ. СлÑжебнÑми командами ÑÑиÑаÑÑÑÑ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ, оÑлиÑнÑе оÑSELECT,INSERT,UPDATEиDELETE. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âon(вкл.). ÐзмениÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð³ÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели.pgpro_stats.track_planning(boolean)ÐаÑамеÑÑ
pgpro_stats.track_planningопÑеделÑеÑ, бÑÐ´ÐµÑ Ð»Ð¸ ÑÑÐ¾Ñ Ð¼Ð¾Ð´ÑÐ»Ñ Ð¾ÑÑлеживаÑÑ Ð¾Ð¿ÐµÑаÑии планиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸ Ð¸Ñ Ð´Ð»Ð¸ÑелÑноÑÑÑ. ÐÑи вклÑÑении ÑÑого паÑамеÑÑа возможно замеÑное Ñнижение пÑоизводиÑелÑноÑÑи, оÑобенно когда паÑаллелÑно вÑполнÑеÑÑÑ Ð±Ð¾Ð»ÑÑое колиÑеÑÑво пÑакÑиÑеÑки одноÑипнÑÑ Ð·Ð°Ð¿ÑоÑов. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âoff(вÑкл.). ÐзмениÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð³ÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели.pgpro_stats.track_totals(boolean)ÐаÑамеÑÑ
pgpro_stats.track_totalsопÑеделÑеÑ, бÑÐ´ÐµÑ Ð»Ð¸ агÑегиÑоваÑÑÑÑ ÑÑаÑиÑÑика по обÑекÑам (на ÑÑовне клаÑÑеÑа, баз, полÑзоваÑелей и Ñ. д.). ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âon(вкл.). ÐзмениÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð³ÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели.pgpro_stats.track_cluster(boolean)ÐаÑамеÑÑ
pgpro_stats.track_clusterопÑеделÑеÑ, бÑÐ´ÐµÑ Ð»Ð¸ агÑегиÑоваÑÑÑÑ ÑÑаÑиÑÑика по клаÑÑеÑÑ Ð² Ñелом. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âon(вкл.). ÐзмениÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð³ÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели.pgpro_stats.track_databases(boolean)ÐаÑамеÑÑ
pgpro_stats.track_databasesопÑеделÑеÑ, бÑÐ´ÐµÑ Ð»Ð¸ агÑегиÑоваÑÑÑÑ ÑÑаÑиÑÑика по базам даннÑÑ . ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âon(вкл.). ÐзмениÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð³ÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели.pgpro_stats.track_users(boolean)ÐаÑамеÑÑ
pgpro_stats.track_usersопÑеделÑеÑ, бÑÐ´ÐµÑ Ð»Ð¸ агÑегиÑоваÑÑÑÑ ÑÑаÑиÑÑика по полÑзоваÑелÑм. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âon(вкл.). ÐзмениÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð³ÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели.pgpro_stats.track_applications(boolean)ÐаÑамеÑÑ
pgpro_stats.track_applicationsопÑеделÑеÑ, бÑÐ´ÐµÑ Ð»Ð¸ агÑегиÑоваÑÑÑÑ ÑÑаÑиÑÑика по пÑиложениÑм (по именам, задаваемÑм в application_name). ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âon(вкл.). ÐзмениÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð³ÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели.pgpro_stats.track_client_addr(boolean)ÐаÑамеÑÑ
pgpro_stats.track_client_addrопÑеделÑеÑ, бÑÐ´ÐµÑ Ð»Ð¸ агÑегиÑоваÑÑÑÑ ÑÑаÑиÑÑика по IP-адÑеÑам клиенÑов. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âon(вкл.). ÐзмениÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð³ÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели.pgpro_stats.track_backends(boolean)ÐаÑамеÑÑ
pgpro_stats.track_backendsопÑеделÑеÑ, бÑÐ´ÐµÑ Ð»Ð¸ агÑегиÑоваÑÑÑÑ ÑÑаÑиÑÑика по обÑлÑживаÑÑим пÑоÑеÑÑам. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âon(вкл.). ÐзмениÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð³ÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели.pgpro_stats.track_sessions(boolean)ÐаÑамеÑÑ
pgpro_stats.track_sessionsопÑеделÑеÑ, бÑÐ´ÐµÑ Ð»Ð¸ агÑегиÑоваÑÑÑÑ ÑÑаÑиÑÑика по ÑеанÑам. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âon(вкл.). ÐзмениÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð³ÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели.pgpro_stats.save(boolean)ÐаÑамеÑÑ
pgpro_stats.saveопÑеделÑеÑ, должна ли ÑÑаÑиÑÑика опеÑаÑоÑов ÑÐ¾Ñ ÑанÑÑÑÑÑ Ð¿Ð¾Ñле пеÑезагÑÑзки ÑеÑвеÑа. ÐÑли он оÑклÑÑÑн (Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñениеoff), ÑÑаÑиÑÑика не ÑÐ¾Ñ ÑанÑеÑÑÑ Ð¿Ñи оÑÑановке ÑеÑвеÑа и не пеÑезагÑÑжаеÑÑÑ Ð¿Ñи запÑÑке. ÐнаÑение по ÑмолÑÐ°Ð½Ð¸Ñ âon(вкл.). ÐÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ задаÑÑ ÑолÑко вpostgresql.confили в командной ÑÑÑоке ÑеÑвеÑа.pgpro_stats.plan_format(text)ÐаÑамеÑÑ
pgpro_stats.plan_formatвÑбиÑÐ°ÐµÑ ÑоÑÐ¼Ð°Ñ Ð¿Ð»Ð°Ð½Ð° запÑоÑа в вÑводеEXPLAIN. ÐозможнÑе знаÑениÑ:text,xml,jsonиyaml. ÐнаÑение по ÑмолÑаниÑ:text. ÐÑи изменении ÑÑого паÑамеÑÑа ÑÑебÑеÑÑÑ Ð¿ÐµÑезапÑÑÑиÑÑ ÑеÑвеÑ.pgpro_stats.enable_profile(boolean)ÐаÑамеÑÑ
pgpro_stats.enable_profileвклÑÑÐ°ÐµÑ Ð¿ÑоÑилиÑование ÑобÑÑий Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ Ð¿Ð¾ оÑделÑнÑм опеÑаÑоÑам. ÐнаÑение по ÑмолÑаниÑ:true(вкл.). ÐÑи изменении ÑÑого паÑамеÑÑа ÑÑебÑеÑÑÑ Ð¿ÐµÑезапÑÑÑиÑÑ ÑеÑвеÑ.pgpro_stats.query_sample_rate(float)ÐаÑамеÑÑ
pgpro_stats.query_sample_rateзадаÑÑ Ð´Ð¾Ð»Ñ Ð·Ð°Ð¿ÑоÑов, коÑоÑÑе бÑдÑÑ Ð²ÑбиÑаÑÑÑÑ ÑлÑÑайнÑм обÑазом Ð´Ð»Ñ Ð¿Ð¾Ð´ÑÑÑÑа ÑÑаÑиÑÑики. ÐозможнÑе знаÑÐµÐ½Ð¸Ñ Ð»ÐµÐ¶Ð°Ñ Ð² диапазоне оÑ0.0(пÑопÑÑкаÑÑ Ð²Ñе запÑоÑÑ) до1.0(обÑабаÑÑваÑÑ Ð²Ñе запÑоÑÑ). ÐнаÑение по ÑмолÑаниÑ:1.0. ÐÑи изменении ÑÑого паÑамеÑÑа ÑÑебÑеÑÑÑ Ð¿ÐµÑезапÑÑÑиÑÑ ÑеÑвеÑ.pgpro_stats.profile_period(integer)ÐаÑамеÑÑ
pgpro_stats.profile_periodзадаÑÑ Ð¸Ð½ÑеÑвал (в миллиÑекÑÐ½Ð´Ð°Ñ ) Ð´Ð»Ñ ÑбоÑа инÑоÑмаÑии о ÑобÑÑиÑÑ Ð¾Ð¶Ð¸Ð´Ð°Ð½Ð¸Ñ. ÐнаÑение по ÑмолÑаниÑ:10. ÐзмениÑÑ ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð¼Ð¾Ð³ÑÑ ÑолÑко ÑÑпеÑполÑзоваÑели.pgpro_stats.metrics_buffer_size(integer)ÐаÑамеÑÑ
pgpro_stats.metrics_buffer_sizeзадаÑÑ ÑÐ°Ð·Ð¼ÐµÑ ÐºÐ¾Ð»ÑÑевого бÑÑеÑа Ð´Ð»Ñ ÑбоÑа ÑÑаÑиÑÑиÑеÑÐºÐ¸Ñ Ð¼ÐµÑÑик. ÐнаÑение по ÑмолÑаниÑ:16kB. ÐÑи изменении ÑÑого паÑамеÑÑа ÑÑебÑеÑÑÑ Ð¿ÐµÑезапÑÑÑиÑÑ ÑеÑвеÑ.pgpro_stats.metrics_workers(integer)ÐаÑамеÑÑ
pgpro_stats.metrics_workersзадаÑÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво ÑабоÑÐ¸Ñ Ð¿ÑоÑеÑÑов, коÑоÑÑе бÑдÑÑ ÑобиÑаÑÑ ÑÑаÑиÑÑиÑеÑкие меÑÑики. ÐÑли ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ð±Ð¾Ð»ÑÑе или Ñавен 2, один из ÑабоÑÐ¸Ñ Ð¿ÑоÑеÑÑов бÑÐ´ÐµÑ Ð³Ð»Ð°Ð²Ð½Ñм, ÑаÑпÑеделÑÑÑим запÑоÑÑ Ð¼ÐµÐ¶Ð´Ñ Ð²Ñеми оÑÑалÑнÑми. ÐÑли колиÑеÑÑво ÑабоÑÐ¸Ñ Ð¿ÑоÑеÑÑов огÑаниÑиваеÑÑÑ Ð¾Ð´Ð½Ð¸Ð¼, он бÑÐ´ÐµÑ Ð¿ÐµÑезапÑÑкаÑÑÑÑ Ð´Ð»Ñ Ð¿Ð¾Ð´ÐºÐ»ÑÑÐµÐ½Ð¸Ñ Ðº ÑазнÑм базам даннÑÑ . Ðогда ÑÑÐ¾Ñ Ð¿Ð°ÑамеÑÑ Ñавен0, ÑÐ±Ð¾Ñ Ð¼ÐµÑÑик оÑклÑÑаеÑÑÑ. ÐнаÑение по ÑмолÑаниÑ:2. ÐÑи изменении ÑÑого паÑамеÑÑа ÑÑебÑеÑÑÑ Ð¿ÐµÑезапÑÑÑиÑÑ ÑеÑвеÑ.pgpro_stats.stats_temp_directory(string)ÐаÑамеÑÑ
pgpro_stats.stats_temp_directoryзадаÑÑ ÐºÐ°Ñалог Ñ Ð²Ð½ÐµÑним Ñайлом Ð´Ð»Ñ Ñ ÑÐ°Ð½ÐµÐ½Ð¸Ñ ÑекÑÑов запÑоÑов. ÐÑо Ð¼Ð¾Ð¶ÐµÑ Ð±ÑÑÑ Ð¿ÑÑÑ Ð¾Ñ ÐºÐ°Ñалога даннÑÑ Ð¸Ð»Ð¸ абÑолÑÑнÑй пÑÑÑ. ÐÑи изменении ÑÑого паÑамеÑÑа ÑÑебÑеÑÑÑ Ð¿ÐµÑезапÑÑÑиÑÑ ÑеÑвеÑ.
F.37.7.2. ÐаÑамеÑÑÑ, опÑеделÑÑÑие меÑÑики
СледÑÑÑие паÑамеÑÑÑ Ð¿ÑедназнаÑÐµÐ½Ñ Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑнÑÑ
меÑÑик, коÑоÑÑе бÑÐ´ÐµÑ ÑобиÑаÑÑ pgpro_stats. ÐÐ¾Ð¼ÐµÑ N в имени паÑамеÑÑа ÑлÑÐ¶Ð¸Ñ ÑникалÑнÑм иденÑиÑикаÑоÑом меÑÑики, к коÑоÑой бÑÐ´ÐµÑ Ð¿ÑименÑÑÑÑÑ Ð·Ð°Ð´Ð°Ð²Ð°ÐµÐ¼Ð¾Ðµ знаÑение; он должен бÑÑÑ Ð¿Ð¾Ð»Ð¾Ð¶Ð¸ÑелÑнÑм и ÑникалÑнÑм ÑÑеди вÑеÑ
меÑÑик.
ÐÑли Ð²Ñ Ð´Ð¾Ð±Ð°Ð²Ð»ÑеÑе паÑамеÑÑÑ Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð½Ð¾Ð²Ð¾Ð¹ меÑÑики, необÑ
одимо пеÑезапÑÑÑиÑÑ ÑеÑвеÑ, ÑÑÐ¾Ð±Ñ ÑÑо опÑеделение наÑало дейÑÑвоваÑÑ. Ðогда меÑÑика Ñже добавлена, ÐµÑ Ð¿Ð°ÑамеÑÑÑ Ð¼Ð¾Ð¶Ð½Ð¾ изменÑÑÑ Ð±ÐµÐ· пеÑезапÑÑка ÑеÑвеÑа, пÑоÑÑо пеÑезагÑÑÐ¶Ð°Ñ Ñайл конÑигÑÑаÑии postgresql.conf.
pgpro_stats.metric_(N_nametext)ÐÐ¼Ñ Ð¼ÐµÑÑики Ñ Ð½Ð¾Ð¼ÐµÑом
N. ÐÑо Ð¸Ð¼Ñ Ð±ÑÐ´ÐµÑ Ð²ÑводиÑÑÑÑ Ð² ÑÑолбÑеmetric_nameпÑедÑÑавлениÑpgpro_stats_metrics.pgpro_stats.metric_(N_querytext)ТекÑÑ Ð·Ð°Ð¿ÑоÑа, опÑеделÑÑÑий знаÑение ÑобиÑаемой меÑÑики.
pgpro_stats.metric_(N_periodinteger)ÐнÑеÑвал, Ñ ÐºÐ¾ÑоÑÑм бÑÐ´ÐµÑ ÑобиÑаÑÑÑÑ Ð¼ÐµÑÑика
N, в миллиÑекÑÐ½Ð´Ð°Ñ . ÐнаÑение по ÑмолÑаниÑ: 60000 mspgpro_stats.metric_(N_dbtext)СпиÑок баз даннÑÑ , в коÑоÑÑÑ Ð±ÑÐ´ÐµÑ ÑобиÑаÑÑÑÑ Ð¼ÐµÑÑика
N. Ðмена баз даннÑÑ Ð´Ð¾Ð»Ð¶Ð½Ñ ÑазделÑÑÑÑÑ Ð·Ð°Ð¿ÑÑÑми. ЧÑÐ¾Ð±Ñ Ð²ÑбÑаÑÑ Ð²Ñе Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ Ð² клаÑÑеÑе, за иÑклÑÑением баз-Ñаблонов, можно ÑказаÑÑ Ð·Ð½Ð°Ñение*. ÐÑли Ð²Ñ Ñакже Ñ Ð¾ÑиÑе анализиÑоваÑÑ Ð·Ð°Ð¿ÑоÑÑ Ð² Ð±Ð°Ð·Ð°Ñ -ÑÐ°Ð±Ð»Ð¾Ð½Ð°Ñ , Ð¸Ñ Ð½Ñжно пеÑеÑиÑлиÑÑ Ñвно.pgpro_stats.metric_(N_usertext)ÐÐ¼Ñ Ð¿Ð¾Ð»ÑзоваÑелÑ, Ð¾Ñ Ð¸Ð¼ÐµÐ½Ð¸ коÑоÑого бÑÐ´ÐµÑ ÑобиÑаÑÑÑÑ Ð¼ÐµÑÑика
N. ÐÑÐ¾Ñ Ð¿Ð¾Ð»ÑзоваÑÐµÐ»Ñ Ð´Ð¾Ð»Ð¶ÐµÐ½ имеÑÑ Ð´Ð¾ÑÑÑп к базе даннÑÑ , в коÑоÑой бÑÐ´ÐµÑ Ð²ÑполнÑÑÑÑÑ Ð·Ð°Ð¿ÑÐ¾Ñ Ð´Ð»Ñ ÑбоÑа меÑÑики.
F.37.8. ÐеÑÑики аннÑлиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐºÐµÑа
Ðомимо пÑоÑего, pgpro_stats Ð¼Ð¾Ð¶ÐµÑ ÑобиÑаÑÑ ÑÑаÑиÑÑÐ¸ÐºÑ Ð°Ð½Ð½ÑлиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐºÐµÑа. ÐÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð½Ð°Ñ Ð² ÑÑом Ñазделе обÑÐ°Ñ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¿Ð¾Ð¼Ð¾Ð¶ÐµÑ Ð»ÑÑÑе понимаÑÑ Ð¿Ð¾ÐºÐ°Ð·Ð°Ñели, ÑвÑзаннÑе Ñ ÑÑой ÑÑаÑиÑÑикой.
У каждого обÑлÑживаÑÑего пÑоÑеÑÑа еÑÑÑ Ñвой локалÑнÑй кеÑ, ÑÑо позволÑÐµÑ Ð¼Ð¸Ð½Ð¸Ð¼Ð¸Ð·Ð¸ÑоваÑÑ Ð¾Ð±ÑаÑÐµÐ½Ð¸Ñ Ðº меÑаинÑоÑмаÑии ÑаблиÑ, в ÑаÑÑноÑÑи к ÑиÑÑемнÑм каÑалогам. ÐÑли какой-либо обÑлÑживаÑÑий пÑоÑеÑÑ Ð¸Ð·Ð¼ÐµÐ½ÑÐµÑ Ð¼ÐµÑаинÑоÑмаÑÐ¸Ñ Ð½ÐµÐºÐ¾ÑоÑого обÑекÑа, она должна обновиÑÑÑÑ Ð² кеÑÐ°Ñ Ð´ÑÑÐ³Ð¸Ñ Ð¾Ð±ÑлÑживаÑÑÐ¸Ñ Ð¿ÑоÑеÑÑов. ÐÐ»Ñ ÑÑого пеÑвÑй обÑлÑживаÑÑий пÑоÑеÑÑ Ð¾ÑпÑавлÑÐµÑ ÑообÑение аннÑлиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð² ÑпеÑиалÑнÑÑ Ð¾ÑеÑÐµÐ´Ñ Ð´Ð»Ñ ÑÐ°ÐºÐ¸Ñ ÑообÑений.
ÐÑе обÑлÑживаÑÑие пÑоÑеÑÑÑ Ð¿Ð¾Ð»ÑÑаÑÑ ÑообÑÐµÐ½Ð¸Ñ Ð°Ð½Ð½ÑлиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð· оÑеÑеди. ÐÑли обÑекÑ, Ð´Ð»Ñ ÐºÐ¾ÑоÑого полÑÑено ÑообÑение аннÑлиÑованиÑ, Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð² кеÑе, его меÑаданнÑе в кеÑе обновлÑÑÑÑÑ, инаÑе ÑÑо ÑообÑение пÑоÑÑо игноÑиÑÑеÑÑÑ. Ð pgpro_stats знаÑÐµÐ½Ð¸Ñ Ð±Ð¾Ð»ÑÑинÑÑва ÑÑÑÑÑиков ÑообÑений аннÑлиÑованиÑ, еÑли Ñвно не Ñказано иное, ÑвелиÑиваÑÑÑÑ, когда обÑлÑживаÑÑие пÑоÑеÑÑÑ ÑолÑко генеÑиÑÑÑÑ ÑообÑениÑ, коÑоÑÑе попадÑÑ Ð² оÑеÑÐµÐ´Ñ Ð¿Ð¾Ñле ÑикÑаÑии ÑооÑвеÑÑÑвÑÑÑей ÑÑанзакÑии. ÐбÑаÑиÑе внимание, ÑÑо пÑи оÑкаÑе ÑÑанзакÑии ÑÑÑÑÑики не ÑменÑÑаÑÑÑÑ, Ñ Ð¾ÑÑ ÑообÑÐµÐ½Ð¸Ñ Ð² ÑÑом ÑлÑÑае не Ð´Ð¾Ñ Ð¾Ð´ÑÑ Ð´Ð¾ оÑеÑеди и аннÑлиÑование не пÑоизводиÑÑÑ.
Ðогда обÑлÑживаÑÑий пÑоÑеÑÑ, добавлÑÑÑий ÑообÑÐµÐ½Ð¸Ñ Ð² оÑеÑедÑ, обнаÑÑживаеÑ, ÑÑо ÑÐ°Ð·Ð¼ÐµÑ Ð¾ÑеÑеди доÑÑиг некоÑоÑого пÑедела, он запÑÑÐºÐ°ÐµÑ Ð¾ÑиÑÑкÑ, ÑдалÑÑ ÑообÑениÑ, Ñже обÑабоÑаннÑе вÑеми обÑлÑживаÑÑими пÑоÑеÑÑами. ÐÑли какие-Ñо обÑлÑживаÑÑие пÑоÑеÑÑÑ Ð½Ðµ ÑÑпеваÑÑ Ð¾Ð±ÑабаÑÑваÑÑ ÑообÑÐµÐ½Ð¸Ñ Ð¸, Ñаким обÑазом, задеÑживаÑÑ Ð¾ÑиÑÑкÑ, им пеÑедаÑÑÑÑ Ñигнал, ÑÑÐ¾Ð±Ñ Ð¾Ð½Ð¸ ÑбÑоÑили Ñвои кеÑи.
F.37.8.1. ÐÑедÑÑавление pgpro_stats_inval_status
ÐÑедÑÑавление pgpro_stats_inval_status ÑодеÑÐ¶Ð¸Ñ Ð¾Ð´Ð½Ñ ÑÑÑокÑ, показÑваÑÑÑÑ ÑекÑÑее ÑоÑÑоÑние глобалÑной оÑеÑеди аннÑлиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐºÐµÑа. СÑолбÑÑ Ð¿ÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ñ Ð² ТаблиÑе F.101.
ТаблиÑа F.101. СÑолбÑÑ pgpro_stats_inval_status
| Name | Тип | ÐпиÑание |
|---|---|---|
num_inval_messages | int8 | ТекÑÑее ÑиÑло ÑообÑений аннÑлиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð² оÑеÑеди |
num_inval_queue_cleanups | int8 | ÐолиÑеÑÑво оÑиÑÑок оÑеÑеди аннÑлиÑованиÑ, вÑполненнÑÑ Ð²Ð¾ избежание ÐµÑ Ð¿ÐµÑÐµÐ¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ |
num_inval_queue_resets | int4 | ЧиÑло опеÑаÑий ÑбÑоÑа кеÑа Ð´Ð»Ñ Ð¾Ð±ÑлÑживаÑÑÐ¸Ñ Ð¿ÑоÑеÑÑов, не ÑÑпеваÑÑÐ¸Ñ Ð¾Ð±ÑабаÑÑваÑÑ ÑообÑÐµÐ½Ð¸Ñ Ð´Ð¾ÑÑаÑоÑно бÑÑÑÑо |
Ð ÑабоÑаÑÑей ÑиÑÑеме num_inval_messages обÑÑно Ð¸Ð¼ÐµÐµÑ Ð·Ð½Ð°Ñение около 4000, Ñо еÑÑÑ Ð¾ÑеÑÐµÐ´Ñ Ð¿Ð¾ÑÑи полноÑÑÑÑ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð°. УвелиÑение num_inval_queue_cleanups говоÑÐ¸Ñ Ð¾ Ñом, ÑÑо в оÑеÑÐµÐ´Ñ Ð¿Ð¾ÑÑÑÐ¿Ð°ÐµÑ Ð¼Ð½Ð¾Ð³Ð¾ ÑообÑений аннÑлиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐºÐµÑа. ÐбÑÑно ÑÑÑÑÑик num_inval_queue_resets не ÑвелиÑиваеÑÑÑ, а его ÑвелиÑение ÑвидеÑелÑÑÑвÑÐµÑ Ð¾ ÑлиÑком бÑÑÑÑом поÑÑÑплении ÑакиÑ
ÑообÑений или о задеÑжкаÑ
в иÑ
обÑабоÑке Ñо ÑÑоÑÐ¾Ð½Ñ Ð¾Ð±ÑлÑживаÑÑиÑ
пÑоÑеÑÑов. ÐÑÑлеживание знаÑений num_inval_queue_cleanups и num_inval_queue_resets в некоÑоÑÑÑ
ÑлÑÑаÑÑ
Ð¼Ð¾Ð¶ÐµÑ Ð¿Ð¾Ð·Ð²Ð¾Ð»Ð¸ÑÑ Ð¾Ð±Ð½Ð°ÑÑжиÑÑ Ð¿ÑоблемнÑе обÑлÑживаÑÑие пÑоÑеÑÑÑ, как опиÑано ниже.
ÐÑли на пÑоÑÑжении некоÑоÑого вÑемени ÑÑÑÑÑик num_inval_queue_cleanups замеÑно ÑвелиÑиваеÑÑÑ, а num_inval_queue_resets â неÑ, ÑÑо говоÑÐ¸Ñ Ð¾ Ñом, ÑÑо обÑлÑживаÑÑие пÑоÑеÑÑÑ Ð¾Ð±ÑабаÑÑваÑÑ ÑообÑÐµÐ½Ð¸Ñ Ð°Ð½Ð½ÑлиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð¼ÐµÐ´Ð»ÐµÐ½Ð½ÐµÐµ, Ñем они генеÑиÑÑÑÑÑÑ, но вÑÑ Ð¶Ðµ доÑÑаÑоÑно бÑÑÑÑо Ð´Ð»Ñ Ñого, ÑÑÐ¾Ð±Ñ Ð¾ÑеÑÐµÐ´Ñ Ð½Ðµ пеÑеполнÑлаÑÑ.
ÐÑли на пÑоÑÑжении некоÑоÑого вÑемени ÑÑÑÑÑик num_inval_queue_cleanups знаÑиÑелÑно не ÑвелиÑиваеÑÑÑ, а ÑÑÑÑÑик num_inval_queue_resets â ÑвелиÑиваеÑÑÑ, ÑÑо опÑеделÑнно ÑказÑÐ²Ð°ÐµÑ Ð½Ð° задеÑÐ¶ÐºÑ Ð¾Ð±ÑабоÑки ÑообÑений обÑлÑживаÑÑими пÑоÑеÑÑами. Ðакие именно обÑлÑживаÑÑие пÑоÑеÑÑÑ Ð²Ð¸Ð½Ð¾Ð²Ð°ÑÑ Ð² задеÑжке, позволÑÐµÑ Ð¾Ð¿ÑеделиÑÑ ÑÑÐ¾Ð»Ð±ÐµÑ cache_resets пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ pgpro_stats_totals.
ÐÑли же на пÑоÑÑжении некоÑоÑого вÑемени оба ÑÑÑÑÑика знаÑиÑелÑно ÑвелиÑиваÑÑÑÑ, ÑÑо ÑказÑÐ²Ð°ÐµÑ Ð½Ð° Ñо, ÑÑо обÑлÑживаÑÑие пÑоÑеÑÑÑ Ð¾Ð±ÑабаÑÑваÑÑ ÑообÑÐµÐ½Ð¸Ñ Ð°Ð½Ð½ÑлиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ð½Ð°ÑÑолÑко медленно, ÑÑо пÑоиÑÑ
Ð¾Ð´Ð¸Ñ Ð¿ÐµÑеполнение оÑеÑеди. Ðакие именно пÑоÑеÑÑÑ Ð·Ð°Ð´ÐµÑживаÑÑ Ð¾Ð±ÑабоÑÐºÑ ÑообÑений, позволÑÐµÑ Ð¾Ð¿ÑеделиÑÑ ÑÑÐ¾Ð»Ð±ÐµÑ cache_reset пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ pgpro_stats_total. ЧÑо ÑвлÑеÑÑÑ Ð¿ÑиÑиной ÑвелиÑÐµÐ½Ð¸Ñ Ð·Ð½Ð°ÑÐµÐ½Ð¸Ñ num_inval_queue_resets, болÑÑÐ°Ñ ÑкоÑоÑÑÑ Ð³ÐµÐ½ÐµÑиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÑообÑений или ÑлиÑком Ð¼ÐµÐ´Ð»ÐµÐ½Ð½Ð°Ñ Ð¸Ñ
обÑабоÑка, непоÑÑедÑÑвенно опÑеделиÑÑ Ð½ÐµÐ»ÑзÑ. Ðднако можно пÑоанализиÑоваÑÑ ÑÑÑÑÑик total из пÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ pgpro_stats_inval_msgs. ÐÑли в данном инÑеÑвале вÑемени ÑÑÑÑÑик изменилÑÑ Ð¿ÑимеÑно на ÑÑ Ð¶Ðµ велиÑинÑ, ÑÑо и в пÑедÑдÑÑем инÑеÑвале Ñой же длиÑелÑноÑÑи, ÑвелиÑение ÑÑÑÑÑиков опÑеделÑнно вÑзвано задеÑжками обÑлÑживаÑÑиÑ
пÑоÑеÑÑов.
ÐÑедÑÑавление pgpro_stats_inval_status можно опÑеделиÑÑ Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ ÑÑнкÑии:
-
pgpro_stats_inval_status() returns record ÐпÑеделÑÐµÑ Ð¿ÑедÑÑавление
pgpro_stats_inval_status, опиÑанное подÑобно в ТаблиÑе F.101.
F.37.8.2. Тип pgpro_stats_inval_msgs
ÐÑедÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ pgpro_stats_statements и pgpro_stats_totals Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð³Ð¾ ÑооÑвеÑÑÑвÑÑÑего обÑекÑа показÑваÑÑ Ð·Ð°Ð¿Ð¸ÑÑ Ñипа pgpro_stats_inval_msgs Ñо ÑÑÑÑÑиками ÑообÑений аннÑлиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐºÐµÑа. ÐÐ¾Ð»Ñ ÑÑой запиÑи Ð¿Ð¾ÐºÐ°Ð·Ð°Ð½Ñ Ð² ТаблиÑе F.102.
ТаблиÑа F.102. ÐÐ¾Ð»Ñ pgpro_stats_inval_msgs
| Name | Тип | ÐпиÑание |
|---|---|---|
total | bigint | ÐбÑее ÑиÑло ÑообÑений аннÑлиÑÐ¾Ð²Ð°Ð½Ð¸Ñ |
catcache | bigint | ЧиÑло ÑообÑений избиÑаÑелÑного аннÑлиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐºÐµÑа каÑалога |
catalog | bigint | ЧиÑло ÑообÑений полного аннÑлиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐºÐµÑа каÑалога |
relcache | bigint | ЧиÑло ÑообÑений избиÑаÑелÑного аннÑлиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐºÐµÑа оÑноÑений |
relcache_all | bigint | ЧиÑло ÑообÑений полного аннÑлиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐºÐµÑа оÑноÑений |
smgr | bigint | ЧиÑло ÑообÑений, вÑзÑваÑÑÐ¸Ñ Ð°Ð½Ð½ÑлиÑование оÑкÑÑÑÑÑ Ñайлов оÑноÑений. УвелиÑиваеÑÑÑ, когда ÑообÑÐµÐ½Ð¸Ñ Ð¿Ð¾Ð¿Ð°Ð´Ð°ÑÑ Ð² оÑеÑедÑ. |
relmap | bigint | ЧиÑло ÑообÑений аннÑлиÑÐ¾Ð²Ð°Ð½Ð¸Ñ ÐºÐµÑа каÑÑÑ Ð¾ÑноÑений. УвелиÑиваеÑÑÑ, когда ÑообÑÐµÐ½Ð¸Ñ Ð¾ÑпÑавлÑÑÑÑÑ Ð² оÑеÑедÑ. |
snapshot | bigint | ЧиÑло ÑообÑений аннÑлиÑÐ¾Ð²Ð°Ð½Ð¸Ñ Ñнимков каÑалога |
F.37.9. ÐвÑоÑÑ
Postgres Professional, ÐоÑква, РоÑÑиÑ