Глоссарий терминов
Словарь основных понятий по PostgreSQL и репликации
PostgreSQL
ОсновыСвободная объектно-реляционная система управления базами данных (СУБД). Одна из самых функциональных и популярных СУБД в мире.
Кластер PostgreSQL
ОсновыНабор файлов данных и конфигурационных файлов, работающий как единый экземпляр PostgreSQL. Один сервер может управлять несколькими кластерами на разных портах.
Порт
ОсновыСетевой порт, на котором слушает PostgreSQL. Стандартный порт — 5432. В нашем практикуме используется 5433 для учебного кластера.
Роль (Role)
ОсновыИменованный объект в PostgreSQL, который может представлять пользователя или группу. Роли имеют привилегии для доступа к базам данных и выполнения операций.
pg_hba.conf
ОсновыФайл конфигурации аутентификации PostgreSQL (Host-Based Authentication). Определяет, кто может подключаться, с каких адресов и каким методом аутентификации.
postgresql.conf
ОсновыОсновной файл конфигурации PostgreSQL. Содержит параметры производительности, репликации, безопасности и другие настройки сервера.
Репликация
РепликацияПроцесс копирования данных с одного сервера (мастер) на другой (реплика) для обеспечения отказоустойчивости и балансировки нагрузки на чтение.
Мастер (Primary)
РепликацияОсновной сервер PostgreSQL, на котором выполняются все операции записи (INSERT, UPDATE, DELETE). Также называется master или primary.
Реплика (Standby)
РепликацияРезервный сервер PostgreSQL, получающий данные с мастера через репликацию. Используется для чтения и как запасной сервер при отказе мастера. Также называется replica или standby.
Потоковая репликация
РепликацияТип репликации, при котором реплика подключается к мастеру и получает WAL-сегменты в реальном времени по сети. Обеспечивает минимальное отставание (lag).
WAL (Write-Ahead Log)
РепликацияЖурнал предзаписи. Все изменения данных сначала записываются в WAL-файл, затем применяются к основным данным. Обеспечивает целостность данных и возможность репликации.
pg_basebackup
РепликацияУтилита для создания полной базовой копии кластера PostgreSQL. Используется для начальной синхронизации реплики с мастером.
pg_rewind
РепликацияУтилита для быстрой синхронизации узла после failover. Копирует только изменившуюся часть данных вместо полного копирования.
Слот репликации
РепликацияИменованный объект на мастере, отслеживающий позицию реплики в WAL-журнале. Гарантирует, что мастер не удалит WAL-сегменты, пока реплика их не получит.
Failover
РепликацияПроцесс переключения на резервный сервер при отказе основного. При failover реплика повышается до мастера и начинает принимать записи.
Failback
РепликацияПроцесс возврата старого мастера в кластер после его восстановления. Обычно выполняется через pg_rewind или повторное создание реплики.
Lag (отставание)
РепликацияРазница во времени или объёме данных между мастером и репликой. Измеряется в секундах (time lag) или байтах (byte lag).
hot_standby
РепликацияПараметр PostgreSQL, разрешающий выполнение запросов на чтение на реплике во время репликации. Должен быть включен для активного использования реплики.
TLS/SSL
БезопасностьПротоколы шифрования для защиты сетевого трафика. В PostgreSQL используется для шифрования соединений между мастером и репликой.
Сертификат
БезопасностьЭлектронный документ, подтверждающий право владения ключом шифрования. Используется для аутентификации серверов при TLS-соединениях.
SSLMODE
БезопасностьПараметр подключения PostgreSQL, определяющий уровень проверки сертификата: disable, allow, prefer, require, verify-ca, verify-full.
Self-signed certificate
БезопасностьСамоподписанный сертификат, созданный без участия центра сертификации (CA). Подходит для учебных и тестовых сред.
hostssl
БезопасностьТип правила в pg_hba.conf, разрешающий подключения только по зашифрованному соединению (TLS/SSL).
REPLICATION
БезопасностьАтрибут роли PostgreSQL, разрешающий подключение для репликации. Роль с этим атрибутом может создавать слоты и получать WAL-данные.
pg_lsclusters
КомандыКоманда для отображения списка всех кластеров PostgreSQL на сервере: версия, имя, порт, статус, путь к данным и логам.
pg_ctlcluster
КомандыКоманда для управления кластером PostgreSQL: запуск (start), остановка (stop), перезапуск (restart), перезагрузка конфигурации (reload).
pg_createcluster
КомандыКоманда для создания нового кластера PostgreSQL с указанием версии и имени.
pg_dropcluster
КомандыКоманда для удаления кластера PostgreSQL. Удаляет данные и конфигурацию.
psql
КомандыИнтерактивный командный интерфейс PostgreSQL для выполнения SQL-запросов и административных команд.
pg_stat_replication
КомандыСистемное представление (view) на мастере, показывающее состояние всех подключенных реплик: адрес, состояние, позицию WAL, отставание.
pg_stat_wal_receiver
КомандыСистемное представление на реплике, показывающее состояние WAL-приёмника: статус, полученные LSN, время последнего сообщения.
pg_replication_slots
КомандыСистемное представление, показывающее все слоты репликации: имя, тип, активность, позицию восстановления.
SHOW
КомандыКоманда SQL для отображения текущего значения параметра конфигурации. Например: SHOW wal_level;
pg_reload_conf()
КомандыSQL-функция для перезагрузки конфигурации PostgreSQL без перезапуска сервера. Аналог pg_ctlcluster reload.