linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
Intro
Lessons
Footer
linuxlab-УчебникиЦеныО платформеКонфиденциальность и куки
Copyright © 2026 LinuxLab. Все права защищены.
linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
  • Введение
  • Главы
  • How it worksскоро
  • Уроки
  • База знаний
  • Собеседование
Часть 0 — Карта территории

$ глава 0 · 15 минут

Предисловие: покажи на странице

Эта книга - про то, как PostgreSQL устроен внутри. Не про то, какие команды набирать, чтобы получить результат, а про то, что происходит под капотом, когда ты их набираешь. Почему UPDATE не меняет строку на месте. Где физически лежит таблица. Как сервер понимает, какую версию строки тебе показать.

У книги один принцип, и он простой: покажи на странице, а не «поверь на слово». Каждый механизм, о котором мы говорим, можно увидеть своими глазами - системным инструментом, прямо в работающей базе. Поэтому почти в каждой главе ты сначала строишь догадку о том, что выведет команда, а потом запускаешь её и сверяешь. Угадал - закрепил. Ошибся - узнал что-то новое именно там, где у тебя была дыра в модели.

0.1 Что это за книга и чем она не является

Это учебник о внутреннем устройстве, а не справочник администратора и не самоучитель по SQL. Граница важна, чтобы ты понимал, чего ждать.

Чего здесь нет:

  • базового SQL - предполагается, что SELECT, JOIN и psql тебе знакомы;
  • пересказа документации по каждому параметру конфигурации;
  • рецептов «сделай раз-два-три» без объяснения, почему именно так.

Что здесь есть: модель того, как движок хранит данные, видит их сквозь транзакции, чистит мусор, ищет строки и строит планы запросов. Когда такая модель есть в голове, рецепты ты выведешь сам, а чужие - поймёшь и проверишь.

0.2 Девиз: предскажи, потом проверь

Главный приём книги - предсказание. Перед тем как запустить команду, ты пишешь, что ожидаешь увидеть. Это превращает чтение из пассивного в активное: модель в голове получает проверку фактом.

Работает это потому, что ошибка предсказания точечно показывает, где твоя модель расходится с реальностью. Прочитать «страница состоит из четырёх зон» и кивнуть - легко. Предсказать смещение lower в заголовке конкретной страницы, а потом увидеть другое число - вот тут и начинается понимание.

Поэтому не пропускай шаги «предскажи». Соблазн сразу запустить и посмотреть велик, но половина пользы - именно в паузе перед запуском.

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

Книга рассчитана на три волны читателей, и каждая берёт из неё своё.

УровеньКто тыЧто унесёшь
Начальныйбэкенд-разработчик, знаешь SQLмодель «как база хранит и видит данные», читаешь EXPLAIN
Среднийразработчик БД, начинающий DBAустройство MVCC и vacuum, проектирование индексов, диагностика планов
ПродвинутыйDBA, SRE, инженер по производительностивнутренности индексов, статистика планировщика, журнал и репликация

Материал идёт по нарастающей. Часть глав и врезок помечена как продвинутые - на первом проходе их можно пропустить и вернуться, когда основа уляжется.

0.4 Как устроена глава

Главы построены по одной схеме, перенятой у хороших инженерных книг:

  1. Сценарий или вопрос - зачем вообще об этом думать.
  2. Наивная модель - как это работало бы «в лоб».
  3. Что ломается - где наивная модель не сходится.
  4. Реальная модель - как сделано на самом деле и почему.
  5. Проверка - смотрим механизм живым инструментом.

Внутри встречаются врезки двух видов. «Копнуть глубже» - необязательная деталь для любопытных. «Подводный камень» - место, где легко обжечься на практике. Заканчивается глава кратким итогом, контрольными вопросами и лабой, где всё потрогаешь руками.

0.5 Сэндбокс и инструменты-линзы

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

Чтобы заглядывать внутрь, мы пользуемся расширениями-линзами. Главное - pageinspect: оно декодирует сырые страницы и показывает то, что обычно скрыто. Рядом - pg_buffercache, pgstattuple, pg_visibility и системные представления pg_stat_*. Через них механизмы из этой книги перестают быть теорией: их видно.

Демо-база у нас сквозная - маленькая схема «Авиаперевозки» с таблицами flights, bookings и tickets. Она достаточно мала, чтобы держать её в голове, и достаточно настоящая, чтобы на ней были видны страницы, версии строк, индексы и планы.

Резюме

  • Книга про внутреннее устройство PostgreSQL, а не про администрирование или базовый SQL.
  • Девиз - покажи на странице: каждый механизм наблюдаем системным инструментом.
  • Главный приём - предсказать вывод команды до запуска, потом сверить.
  • Материал рассчитан на три волны: начальный, средний и продвинутый уровни.
  • Лабы идут в одноразовом браузерном контейнере с линзами pageinspect и pg_stat_*.
Следующая →01-what-is-postgresql
Footer
linuxlab-
Copyright © 2026 LinuxLab. Все права защищены.
Учебники
Цены
О платформе
Конфиденциальность и куки