Postgres 13, patroni и Wal

Была задача скопировать данные из одной таблицы в другую. Выполнил на мастере следующий запрос:

INSERT INTO mt_doc_abstractgeoobject_temp (id,
tenant_id,
data,
mt_last_modified,
mt_version,
mt_dotnet_type,
ebg_node_id,
parent_id,
standardized_name,
localized_name,
object_type,
mt_doc_type,
mt_deleted,
mt_deleted_at,
url_name,
priority_hotel,
priority_main,
priority_tour,
url_name_static) 
SELECT * from mt_doc_abstractgeoobject;

После того как запрос отработал на мастере сгенерировалось большое кол-во wal файлов. По прошествии 12 часов эти валы так и не разошлись (на реплике они тоже есть). В логах нет никаких ошибок, чекпоинт срабатывает и некоторые вал файлы все же отправляются на отдельную машину. Лага репликации нет. Реплика асинхронная. Что можно сделать что бы эти валы всё же отправились хранится на отдельную машину и постгрес вычистил у себя каталог с pg_wal ?


Ответы (1 шт):

Автор решения: Олег

Проблема была решена. Была допущена ошибка в конфигурации. Установлен postgres 13. В конфиге присутствовал параметр wal_keep_segments: 5120 Этот параметр был переименован в wal_keep_size и установлено значение в 5GB. После рестарта кластера все вал файлы были пушнуты и удалены из pg_wal

→ Ссылка