хабр-232.png

Компания Postgres Professional представляет новое издание книги Егора Рогова «PostgreSQL 18 изнутри», которое будет выпущено в издательстве «ДМК Пресс» в 2026 году. Электронная версия доступна уже сейчас. Эта книга — подробный путеводитель по внутреннему устройству СУБД PostgreSQL, призванный помочь разработчикам и администраторам детально разобраться в механизмах её работы.

Издание объёмом более 600 страниц актуализировано с учётом возможностей и изменений новейшей 18-й версии PostgreSQL.

Для кого эта книга?

Книга ориентирована на администраторов баз данных и программистов, которые уже имеют опыт работы с СУБД и хотят перейти на новый уровень понимания системы. Она будет полезна тем, кто:

  • не желает воспринимать СУБД как «чёрный ящик» и стремится детально изучить принципы обеспечения надёжности, согласованности и высокой производительности;

  • занимается оптимизацией запросов и хочет осознанно настраивать параметры конфигурации на основе понимания внутренних процессов СУБД;

  • сталкивается со сложными нештатными ситуациями и хочет научиться эффективно диагностировать возникающие проблемы;

  • переходит на PostgreSQL с других систем (например, Oracle или MS SQL Server) и желает глубоко понять её специфику.

Что внутри?

Повествование начинается с вводной главы, которая подготавливает читателя к изучению сложных механизмов. В ней даётся обзор базовых понятий: логическая и физическая организация данных (кластеры, табличные пространства, файлы, страницы, TOAST), а также общая архитектура процессов и памяти PostgreSQL.

Основной материал логически разделён на пять частей, раскрывающих архитектуру СУБД:

  1. Часть I. Изоляция и многоверсионность. Рассматриваются детали реализации многоверсионности (MVCC) и изоляции транзакций на основе снимков данных, алгоритмы очистки неактуальных версий строк (включая работу автоочистки), а также перестроение таблиц и индексов.

  2. Часть II. Буферный кеш и журнал. Устройство буферного кеша и журнала предзаписи (WAL), организация ввода-вывода, режимы журналирования и обеспечение надёжности хранения данных при сбоях.

  3. Часть III. Блокировки. Детальный разбор различных уровней блокировок — от блокировок отношений и строк до лёгких блокировок в оперативной памяти, а также механизм обнаружения взаимоблокировок.

  4. Часть IV. Выполнение запросов. Полный цикл обработки SQL-запроса (разбор, трансформация, планирование и исполнение), роль статистической информации, табличные методы доступа, механизмы индексного сканирования, а также три базовых алгоритма соединения таблиц (вложенный цикл, хеширование и слияние).

  5. Часть V. Типы индексов. Обзор и детальное сравнение встроенных индексных методов доступа: B-дерево, Хеш-индекс, GiST, SP-GiST, GIN и BRIN, особенности их страничной организации и классы операторов.

Что нового в этом издании?

Помимо исправления неточностей и опечаток, в книге отражены ключевые изменения архитектуры СУБД, произошедшие в версии PostgreSQL 18:

  • Оптимизация пропуска (Skip Scan) в B-деревьях. Подробно разобран новый механизм, позволяющий эффективно использовать составные индексы даже в тех случаях, когда в запросе не задано условие на первый (ведущий) столбец индекса. Для прикладных разработчиков это одно из наиболее долгожданных нововведений PostgreSQL 18, существенно влияющее на подходы к проектированию индексов.

  • Тектонический сдвиг в подсистеме ввода-вывода (Async I/O). Появление асинхронного ввода-вывода знаменует собой начало масштабных архитектурных изменений. На протяжении тридцати лет PostgreSQL использовал синхронный буферизованный ввод-вывод, во многом полагаясь на кеш операционной системы. Внедрение Async I/O (для чтения) и поддержка современных интерфейсов, таких как io_uring в Linux, — важный шаг на пути к снижению зависимости СУБД от ОС и повышению эффективности работы с диском.

  • Более «умная» автоочистка очень больших таблиц. В PostgreSQL 18 формула запуска автоочистки при добавлении строк стала учитывать долю незамороженных страниц, что препятствует снижению частоты срабатывания при росте таблиц. А новый порог autovacuum_vacuum_max_threshold позволяет уделить особое внимание гигантским таблицам, для которых привычные настройки не помогают.

  • Инструменты для самостоятельных исследований. Книга ориентирована на экспериментальный подход и даёт читателю инструменты для детального анализа работы СУБД. Например, новая команда \parse в psql рассматривается как способ экспериментировать с общими (generic) и частными (custom) планами выполнения запросов прямо в терминале, без необходимости писать программный код. Описаны и новые возможности детального мониторинга ввода-вывода (pg_stat_io).

Сильные стороны книги

Главное достоинство руководства — практическая направленность. Теоретический материал сопровождается наглядными экспериментами на демонстрационной базе данных «Авиаперевозки». Автор активно задействует «интроспективные» расширения (pageinspect, pg_visibility, pg_buffercache и др.), чтобы продемонстрировать реальное низкоуровневое содержимое страниц данных на диске и в буферном кеше.

Как получить книгу?

«PostgreSQL 18 изнутри» позволит читателю понять внутреннюю архитектуру и научиться использовать возможности PostgreSQL максимально эффективно. Мы настоятельно рекомендуем издание администраторам и разработчикам, работающим с PostgreSQL.

Купить книгу «PostgreSQL 18 изнутри» можно будет в издательстве «ДМК Пресс». Скачать электронную версию можно свободно на сайте Postgres Professional:

https://postgrespro.ru/education/books/internals

Комментарии (0)