Перейти к содержимому

PostgreSQL 18 изнутри

Внутреннее устройство PostgreSQL 18: изоляция и многоверсионность, буферный кеш, журнал, блокировки, выполнение запросов и типы индексов.

PostgreSQL 18 · Издание 2026 года · Китайский перевод доступен для PostgreSQL 18

Обложка книги «PostgreSQL 18 изнутри»

Егор Рогов
Русское издание · PostgreSQL 18 · Москва, 2026

Начать чтение · Печатать всю книгу · Исходный PDF

Содержание

Иллюстрации

  1. Рисунок publication.1 — Логотип издательства «ДМК Пресс»
  2. Рисунок 1.1 — Базы данных
  3. Рисунок 1.2 — Табличные пространства
  4. Рисунок 1.3 — Слои и файлы
  5. Рисунок 1.4 — Процессы и память
  6. Рисунок 3.1 — Заголовок страницы
  7. Рисунок 4.1 — Что такое снимок данных
  8. Рисунок 4.2 — Видимость версий строк в снимке
  9. Рисунок 4.3 — Из чего состоит снимок
  10. Рисунок 4.4 — Из чего состоит снимок
  11. Рисунок 4.5 — Горизонт транзакции
  12. Рисунок 6.1 — Переполнение счетчика транзакций
  13. Рисунок 6.2 — Заморозка версий и правила видимости
  14. Рисунок 7.1 — Возраст для аварийного срабатывания автоочистки
  15. Рисунок 9.1 — Устройство буферного кеша
  16. Рисунок 9.2 — Попадание в кеш
  17. Рисунок 9.3 — Поиск буфера и вытеснение
  18. Рисунок 10.1 — Контрольная точка
  19. Рисунок 10.2 — Контрольная точка
  20. Рисунок 10.3 — Настройка контрольной точки
  21. Рисунок 12.1 — Очередь ожидания
  22. Рисунок 13.1 — Исключительные режимы
  23. Рисунок 13.2 — Исключительные режимы
  24. Рисунок 13.3 — Исключительные режимы
  25. Рисунок 13.4 — Разделяемые режимы
  26. Рисунок 13.5 — Разделяемые режимы
  27. Рисунок 13.6 — Взаимоблокировки
  28. Рисунок 15.1 — Буферный кеш
  29. Рисунок 15.2 — Буферы журнала предзаписи
  30. Рисунок 15.3 — Кеш SLRU
  31. Рисунок 16.1 — Демонстрационная база данных
  32. Рисунок 16.2 — Разбор
  33. Рисунок 16.3 — Трансформация
  34. Рисунок 16.4 — Планирование
  35. Рисунок 16.5 — Планирование
  36. Рисунок 16.6 — Планирование
  37. Рисунок 16.7 — Планирование
  38. Рисунок 16.8 — Планирование
  39. Рисунок 16.9 — Планирование
  40. Рисунок 16.10 — Планирование
  41. Рисунок 16.11 — Исполнение
  42. Рисунок 17.1 — Уникальные значения
  43. Рисунок 17.2 — Наиболее частые значения
  44. Рисунок 17.3 — Гистограмма
  45. Рисунок 17.4 — Гистограмма
  46. Рисунок 18.1 — Последовательное сканирование
  47. Рисунок 18.2 — Параллельные планы выполнения
  48. Рисунок 19.1 — Индексы и расширяемость
  49. Рисунок 20.1 — Хороший случай: высокая корреляция
  50. Рисунок 20.2 — Плохой случай: низкая корреляция
  51. Рисунок 20.3 — Плохой случай: низкая корреляция
  52. Рисунок 20.4 — Оценка стоимости
  53. Рисунок 20.5 — Оценка стоимости
  54. Рисунок 20.6 — Сравнение методов доступа
  55. Рисунок 22.1 — Однопроходное соединение хешированием
  56. Рисунок 22.2 — Однопроходное соединение хешированием
  57. Рисунок 22.3 — Двухпроходное соединение хешированием
  58. Рисунок 22.4 — Двухпроходное соединение хешированием
  59. Рисунок 22.5 — Двухпроходное соединение хешированием
  60. Рисунок 22.6 — Параллельное однопроходное хеш-соединение
  61. Рисунок 22.7 — Параллельное однопроходное хеш-соединение
  62. Рисунок 22.8 — Параллельное двухпроходное хеш-соединение
  63. Рисунок 22.9 — Параллельное двухпроходное хеш-соединение
  64. Рисунок 22.10 — Параллельное двухпроходное хеш-соединение
  65. Рисунок 22.11 — Параллельное двухпроходное хеш-соединение
  66. Рисунок 23.1 — Внешняя сортировка
  67. Рисунок 23.2 — Внешняя сортировка
  68. Рисунок 23.3 — Внешняя сортировка
  69. Рисунок 23.4 — Внешняя сортировка
  70. Рисунок 23.5 — Внешняя сортировка
  71. Рисунок 23.6 — Сравнение способов соединения
  72. Рисунок 24.1 — Страничная организация
  73. Рисунок 24.2 — Страничная организация
  74. Рисунок 24.3 — Страничная организация
  75. Рисунок 24.4 — Страничная организация
  76. Рисунок 25.1 — Общий принцип
  77. Рисунок 25.2 — Поиск по равенству
  78. Рисунок 25.3 — Поиск по неравенству
  79. Рисунок 25.4 — Поиск по диапазону
  80. Рисунок 25.5 — Вставка
  81. Рисунок 25.6 — Страничная организация
  82. Рисунок 25.7 — Оптимизация пропуска
  83. Рисунок 25.8 — Оптимизация пропуска
  84. Рисунок 25.9 — Оптимизация пропуска
  85. Рисунок 25.10 — Оптимизация пропуска
  86. Рисунок 25.11 — Оптимизация пропуска
  87. Рисунок 25.12 — Оптимизация пропуска
  88. Рисунок 26.1 — R-дерево для точек
  89. Рисунок 26.2 — R-дерево для точек
  90. Рисунок 26.3 — R-дерево для точек
  91. Рисунок 26.4 — Поиск вхождения в область
  92. Рисунок 26.5 — Поиск вхождения в область
  93. Рисунок 26.6 — Поиск вхождения в область
  94. Рисунок 26.7 — Поиск ближайших соседей
  95. Рисунок 26.8 — Поиск ближайших соседей
  96. Рисунок 26.9 — Поиск ближайших соседей
  97. Рисунок 26.10 — Поиск ближайших соседей
  98. Рисунок 26.11 — Вставка
  99. Рисунок 26.12 — Вставка
  100. Рисунок 26.13 — Индексация tsvector
  101. Рисунок 26.14 — Индексация tsvector
  102. Рисунок 26.15 — Индексация tsvector
  103. Рисунок 26.16 — Индексация tsvector
  104. Рисунок 27.1 — Дерево квадрантов для точек
  105. Рисунок 27.2 — Дерево квадрантов для точек
  106. Рисунок 27.3 — Дерево квадрантов для точек
  107. Рисунок 27.4 — Класс операторов
  108. Рисунок 27.5 — Класс операторов
  109. Рисунок 27.6 — Страничная организация
  110. Рисунок 27.7 — Поиск
  111. Рисунок 27.8 — Поиск
  112. Рисунок 27.9 — Вставка
  113. Рисунок 27.10 — Вставка
  114. Рисунок 27.11 — Вставка
  115. Рисунок 27.12 — Вставка
  116. Рисунок 27.13 — K-мерные деревья для точек
  117. Рисунок 27.14 — K-мерные деревья для точек
  118. Рисунок 27.15 — K-мерные деревья для точек
  119. Рисунок 27.16 — Префиксное дерево для строк
  120. Рисунок 27.17 — Поиск
  121. Рисунок 27.18 — Вставка
  122. Рисунок 27.19 — Вставка
  123. Рисунок 28.1 — Индекс для полнотекстового поиска
  124. Рисунок 28.2 — Поиск
  125. Рисунок 28.3 — Частые и редкие лексемы
  126. Рисунок 28.4 — Вставка
  127. Рисунок 28.5 — Класс операторов jsonb_ops
  128. Рисунок 28.6 — Класс операторов jsonb_path_ops
  129. Рисунок 29.1 — Страничная организация
  130. Рисунок 29.2 — Вставка значений
  131. Рисунок 29.3 — Размер зоны и эффективность поиска
  132. Рисунок 29.4 — Мультидиапазоны значений (minmax-multi)
  133. Рисунок 29.5 — Мультидиапазоны значений (minmax-multi)
  134. Рисунок 29.6 — Фильтры Блума (bloom)

Таблицы

  1. Таблица 2.1 — Уровни изоляции и аномалии в стандарте SQL
  2. Таблица 2.2 — Уровни изоляции и аномалии в PostgreSQL
  3. Таблица 12.1 — Матрица конфликтов: Shared и Exclusive
  4. Таблица 12.2 — Матрица конфликтов блокировок отношений
  5. Таблица 13.1 — Матрица конфликтов блокировок строк
  6. Таблица 18.1 — Размер таблицы и количество процессов
  7. Таблица 26.1 — Сигнатуры лексем
  8. Таблица 26.2 — Сигнатуры документов
  9. Таблица 28.1 — Функция согласованности: «стоя» или «кудряв»
  10. Таблица 28.2 — Функция согласованности: обязательная и дополнительная лексемы

Об издании

Русский оригинал книги Егора Рогова «PostgreSQL 18 изнутри», ДМК Пресс, 2026. Сохранены текст, примеры, иллюстрации, примечания и порядок глав исходного издания. Номера страниц отсылают к печатной книге; номера иллюстраций и таблиц добавлены для навигации в веб-издании.

© Текст, оформление, ООО «ППГ», 2026; © Издание, ДМК Пресс, 2026.

Сайт книги · Выходные сведения · Издательские сведения

English edition: PostgreSQL 14 Internals — отдельное издание, описывающее PostgreSQL 14.