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