Тип: | integer |
По умолчанию: | -1 (-1) |
Минимальный: | -1 (-1) |
Максимальный: | 262143 (2097144kB) |
Ед. изм: | 8kB |
Контекст: | postmaster |
Перезапуск: | true |
Объём разделяемой памяти, который будет использоваться для буферизации данных WAL, ещё не записанных на диск. Значение по умолчанию, равное -1, задаёт размер, равный 1/32 (около 3%) от shared_buffers, но не меньше, чем 64 КБ
и не больше, чем размер одного сегмента WAL (обычно 16 МБ
). Это значение можно задать вручную, если выбираемое автоматически слишком мало или велико, но при этом любое положительное число меньше 32 КБ
будет восприниматься как 32 КБ
. Этот параметр можно задать только при запуске сервера.
Содержимое буферов WAL записывается на диск при фиксировании каждой транзакции, так что очень большие значения вряд ли принесут значительную пользу. Однако значение как минимум в несколько мегабайт может увеличить быстродействие при записи на нагруженном сервере, когда сразу множество клиентов фиксируют транзакции. Автонастройка, действующая при значении по умолчанию (-1), в большинстве случаев выбирает разумные значения.
Рекомендации [EN]
На StackOverflow
На pgsql-hackers
- Re: Support logical replication of DDLs
- Re: How about a psql backslash command to show GUCs?
- Proposal: Allow walsenders to send WAL directly from wal_buffers to replicas
- Re: pg_stat_bgwriter.buffers_backend is pretty meaningless (and more?)
- Re: Improve WALRead() to suck data directly from WAL buffers when possible