Comments 6
Спасибо за публикацию курса QPT.
Подскажите, не выполняя explain (analyze) есть ли в pg средства наблюдения, подсказывающие dba, что сейчас недостаточно качественные планы или оптимизатору завязаны руки? Например: неактуальные статистика, free space map или visibility map, слишком много операций с временными файлами из-за малого work_mem, итп. Либо только наблюдение за pg_stat_statements ?
Другой вопрос про предопределённые роли. Почему доступ к pg_statistic не даётся для роли pg_monitor мне понятно, но какие же есть обходные пути для наблюдения за статистикой? pg_stats
Рад, что читаете!
EXPLAIN позволяет узнать правду о конкретном запросе. Если смотреть в целом по системе, то есть масса статистических представлений. Ну и pg_stat_statements тоже, разумеется. Посмотрите еще схему Алексея Лесовского (Query Planning, Query Execution).
Важная часть картины - ожидания. Чтобы смотреть за ними, нужно расширение pg_wait_sampling или что-то аналогичное. В QPT мы это рассматриваем в теме "Профилирование".
Ну и можно что-то вывести в журнал сообщений, если это удобно. Те же временные файлы.
Спасибо большое за весь цикл статей! Прекрасное преподнесение материала.
Недавно наткнулся на ваши статьи. Начал с индексов и читаю все подряд теперь - очень ценная информация для понимания работы Postgresql и не только.
Спасибо большое за труды! Не останавливайтесь.
Запросы в PostgreSQL: 7. Сортировка и слияние