Deep dive into resource manager, error and interrupt handling. (PConf.dev 2026)
Deep dive into resource manager, error and interrupt handling. (PConf.dev 2026)
Глубокое погружение в управление ресурсами, обработку ошибок и прерываний (Deep dive into resource manager, error and interrupt handling) PGConf.dev 2026 Представлено Рахилой Сайед (Rahila Syed) на PGConf.dev 2026 (https://2026.pgconf.dev) Я опишу каждый из следующих аспектов кода PostgreSQL. Это будет включать сценарии использования этих модулей, лучшие практики, подробные примеры использования и, где применимо, предложения по улучшению их реализации. Управление ресурсами — углублённый взгляд на инфраструктуру управления ресурсами, включая API ResourceOwner, отслеживание жизненного цикла различных ресурсов, создание и управление объектами Resowner, а также роли, которые играют транзакции и порталы. Обработка ошибок — подробное описание потока выполнения при возникновении ERROR, FATAL или PANIC в PostgreSQL, включая то, как передаётся управление и как выполняется очистка. Это будет включать объяснение блока кода START_CRIT_SECTION() — END_CRIT_SECTION() с выделением его назначения и описанием обработки ошибок из критической секции. Обработка прерываний — объяснение механизмов обработки прерываний PostgreSQL, включая роль CHECK_FOR_INTERRUPTS(). Это также будет включать обсуждение предоставления общего интерфейса для различных типов прерываний как улучшения существующей инфраструктуры. Дополнительно я сосредоточусь на унификации обработки ошибок между типами процессов. Это включает анализ различий в реализации sigsetjmp верхнего уровня среди фоновых процессов, вспомогательных процессов и клиентских бэкендов, а также предложение подходов к унификации этого поведения. https://2026.pgconf.dev/session/684