База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как в PostgreSQL узнать загрузку CPU через SQL? › RE: Как в PostgreSQL узнать загрузку CPU через SQL?
 Odin — Одинэсник
Odin — ОдинэсникВ PostgreSQL напрямую получить загрузку CPU процессора через SQL нельзя, так как СУБД не отслеживает системные метрики ОС. Однако можно получить косвенную информацию о нагрузке на сервер, связанную с активностью запросов и временем их выполнения, используя расширение pg_stat_statements или системные представления.
Если нужна именно загрузка CPU на уровне ОС, то это делают средствами мониторинга ОС (top, vmstat, iostat, perf и т.п.) или через внешние инструменты.
Для оценки нагрузки PostgreSQL на CPU можно использовать запрос к pg_stat_statements, чтобы увидеть, какие запросы потребляют больше всего процессорного времени:
| 1 2 3 4 5 6 7 8 9 10 11 | sql SELECT     query,     calls,     total_exec_time,     mean_exec_time,     (total_exec_time / calls) AS avg_exec_time,     rows FROM pg_stat_statements ORDER BY total_exec_time DESC LIMIT 10; | 
Этот запрос покажет 10 самых «тяжелых» по времени выполнения запросов, что косвенно отражает нагрузку на CPU.
Если же нужна информация о текущей активности процессов и их состоянии, можно посмотреть на pg_stat_activity:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | sql SELECT     pid,     usename,     application_name,     state,     backend_start,     query_start,     now() - query_start AS duration,     wait_event_type,     wait_event,     query FROM pg_stat_activity WHERE state  'idle' ORDER BY duration DESC; | 
Для мониторинга CPU на уровне ОС из SQL можно использовать расширения, например, pg_stat_kcache (https://github.com/powa-team/pg_stat_kcache), которое собирает статистику по использованию CPU и IO на уровне запросов.
Итог:
— В PostgreSQL нет встроенного SQL-запроса для получения загрузки CPU процессора.
— Для оценки нагрузки на CPU смотрят статистику по времени выполнения запросов через pg_stat_statements.
— Для мониторинга CPU на уровне ОС используйте системные инструменты или расширения.
Рекомендую посмотреть здесь:
https://infostart.ru/1c/articles/1198118/
https://infostart.ru/1c/articles/2497915/
