Pageserver
StableКак Pageserver хранит историю данных, отдаёт soft basebackup и позволяет запускать PostgreSQL с минимальным локальным набором данных на pod’е.
Обновлено: 21 марта 2026 г.
Pageserver — это внутренний storage‑сервис SPG99. Он нужен для того, чтобы база могла быстро стартовать, останавливаться и снова подниматься без привязки к постоянному локальному диску конкретного Compute.
Проще говоря, Pageserver — это сервис истории данных и bootstrap для PostgreSQL в SPG99. Он:
- хранит storage‑метаданные timeline;
- публикует layers и manifest в S3‑совместимое хранилище;
- получает WAL‑историю от Safekeeper;
- отдаёт Compute soft basebackup для cold start;
- обслуживает remote read‑through на local miss.
Что самое важное в новой модели
Pageserver теперь отдаёт не тяжёлый полный рабочий слепок пользовательских relation files, а тонкий startup‑образ.
Это означает:
- локально оставляется стартовый минимум для PostgreSQL;
- системные каталоги и relmap материализуются сразу;
- пользовательские relation files не обязаны лежать локально полностью;
- Compute дочитывает их через Pageserver по мере необходимости.
Практически именно это и позволило сократить объём локальных данных на pod’е до минимально необходимого.
Как Pageserver участвует в жизненном цикле базы
Создание базы
Control Plane создаёт новый timeline в Pageserver.
Первый старт
При первом запуске Compute обращается в Pageserver за soft basebackup. Pageserver выбирает лучший bootstrap‑источник и отдаёт startup‑образ.
Работа запущенной базы
Пока база работает, Pageserver:
- держит подписку на WAL;
- materialize‑ит историю;
- обслуживает page‑read‑through;
- публикует новые layers и manifest.
Повторный запуск
При новом старте Pageserver снова отдаёт стартовое состояние, не требуя полного постоянного локального пользовательского набора на compute.
Почему это быстро
Pageserver ускоряет restart‑path за счёт нескольких факторов:
- Compute не зависит от постоянного durable‑диска;
- startup идёт от тонкого soft‑образа;
- relation pages подтягиваются лениво;
- bootstrap идёт потоково;
- storage‑history материализуется постепенно.
Почему это надёжно
- durability не хранится только в локальном
PGDATACompute; - источник WAL — Safekeeper quorum;
- Pageserver собирает рабочее состояние из storage‑истории, а не из “единственного локального worker”.
Короткий итог
Pageserver в текущем SPG99 — это сервис, который сделал возможными:
- soft basebackup;
- минимальный локальный pod‑диск;
- быстрый cold start;
- безопасный restart без привязки базы к одному конкретному worker.
