1

Что такое слоты

Назначение слотов, физические vs логические, WAL retention

25 минУрок 1 из 6
Прогресс0%

Теория

Слот репликации (replication slot) — это механизм PostgreSQL, который гарантирует, что мастер не удалит WAL-сегменты до тех пор, пока реплика их не получит.

Без слотов мастер может удалить WAL до того, как реплика успеет его применить — это приведёт к разрыву репликации.

Физические слоты работают на уровне WAL-сегментов и не зависят от логической структуры данных.

Слоты имеют два ключевых атрибута: restart_lsn (начальная точка чтения) и confirmed_flush_lsn (подтверждённая позиция).

Практика

1. Проверка текущих слотов

Посмотрите, какие слоты уже существуют:

Проверка текущих слотов
Команда
sudo -u postgres psql -c "SELECT slot_name, slot_type, active FROM pg_replication_slots;"
Вывод:
 slot_name | slot_type | active 
-----------+-----------+--------
(0 rows)

2. Проверка WAL-файлов

Посмотрите доступные WAL-сегменты:

Проверка WAL-файлов
Команда
sudo -u postgres psql -c "SELECT pg_ls_waldir();"
Вывод:
     name     
---------------
 000000010000000000000001
 000000010000000000000002
(2 rows)

Проверка

Убедитесь, что WAL-уровень поддерживает слоты:

Проверка
Команда
sudo -u postgres psql -c "SHOW wal_level;"
Вывод:
 wal_level 
-----------
 replica

Пройдите викторину

Для завершения урока необходимо пройти викторину