Тип: | enum |
По умолчанию: | replica |
Контекст: | postmaster |
Перезапуск: | true |
Значения: | [minimal, replica, logical] |
Параметр wal_level
определяет, как много информации записывается в WAL. Со значением replica
(по умолчанию) в журнал записываются данные, необходимые для поддержки архивирования WAL и репликации, включая запросы только на чтение на ведомом сервере. Вариант minimal
оставляет только информацию, необходимую для восстановления после сбоя или аварийного отключения. Наконец, logical
добавляет информацию, требующуюся для поддержки логического декодирования. Каждый последующий уровень включает информацию, записываемую на всех уровнях ниже. Задать этот параметр можно только при запуске сервера.
На уровне minimal
некоторые массовые операции могут выполняться в обход журнала без риска потери данных, и при этом они выполнятся гораздо быстрее (см. 4). В частности, такая оптимизация возможна с операциями:
- CREATE TABLE AS
- CREATE INDEX
- CLUSTER
- COPY с таблицами, которые были созданы или опустошены в той же транзакции
replica
или более высокий.
На уровне logical
в журнал записывается та же информация, что и на уровне replica
, плюс информация, необходимая для извлечения из журнала наборов логических изменений. Повышение уровня до logical
приводит к значительному увеличению объёма WAL, особенно если многие таблицы имеют характеристику REPLICA IDENTITY FULL
и выполняется множество команд UPDATE и DELETE.
В выпусках до 9.6 для этого параметра допускались значения archive
и hot_standby
. Эти значения по-прежнему принимаются, но теперь отображаются в значение replica
.