Отлаживаем планировщик Postgres (Сергей Соловьев)

Описание к видео Отлаживаем планировщик Postgres (Сергей Соловьев)

Только что разработчик «Тантор Лабс» Сергей Соловьев поделился лайфхаками по отладке планировщика Postgres.

Он рассказал о принципах его устройства и основных структурах данных. Так, в пайплайне обработки запроса выделяются четыре этапа: парсинг запроса, переписывание, планирование и его выполнение.

Планировщик используется на этапе планирования, который также состоит из четырех частей:
– Preprocess (предобработка дерева запроса), общая оптимизация, например, вычисление константных выражений;
– Optimize (оптимизация), обогащение и обработка информации о запросе, инициализация планировщика, выполнение более серьезной оптимизации;
– Find Paths – поиск всех возможные путей выполнения запроса. «Например, нам всегда доступен путь последовательного сканирования, но если у нас есть индекс, то добавим путь, использующий и его», – пояснил Сергей.
– Create Plan – создание плана выполнения запроса на основе самого дешевого найденного пути.

Запись выступления спикера с мероприятия PG BootCamp Russia 2024, которое прошло 17 сентября 2024 г. в Казани.

Комментарии

Информация по комментариям в разработке