SQLLab
Теория· 8 мин· 15 XP

Архитектура PostgreSQL-кластера

PostgreSQL — это процессная СУБД: каждое соединение порождает отдельный OS-процесс (backend).

Основные процессы

ПроцессРоль
postmasterГлавный процесс, принимает соединения
backendПо одному на соединение, выполняет запросы
autovacuum launcherЗапускает воркеры VACUUM/ANALYZE
bgwriterЗаписывает «грязные» страницы на диск
walwriterСбрасывает WAL-буфер на диск
checkpointerВыполняет checkpoint
stats collectorСобирает pg_stat_* статистику (PG < 15)

Структура данных

код
$PGDATA/
  postgresql.conf       — основная конфигурация
  pg_hba.conf           — правила аутентификации
  pg_ident.conf         — маппинг OS-пользователей
  base/                 — файлы таблиц и индексов
  pg_wal/               — WAL-сегменты
  pg_log/ (log/)        — логи сервера

Shared buffers

Shared buffers — общий кэш страниц, разделяемый всеми backend-процессами. Рекомендуется 25% RAM.

Ключевой принцип

DBA управляет кластером через SQL-запросы к системным каталогам и функциям — большинство диагностики делается без доступа к файловой системе.

sql
-- Версия и путь к данным
SELECT version();
SHOW data_directory;

Прочитайте урок до конца — прогресс засчитается автоматически