Теория· 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;
Прочитайте урок до конца — прогресс засчитается автоматически