Как уменьшить Wal в postgresql?

Имеется сервак с базами 1с. Места не так много, 80 гигов диск и 10 под бекап для wal журналов, крутятся не большие 2 базы. С начала все было нормально. Потом Со временем начал расти каталог pg_wal. Но тут разобрались, копился лог, который не пернесся на диск под бекап. Выключили и включили archive_mode и журнал стал переноситься на резервный диск. Но логов накопилось на 40 гигов а у нас только 10, т.е. еще остались не перенесенные.
Диска теперь не хватает и встал вопрос: можно ли удалить, то что перенесено в бекап и чтоб разгрузить журнал, чтоб он не копился?
И можно как то уменьшить количество файлов и для бекапа и для баз? Не уж то postgres нужно так много журналов хранить?
  • Вопрос задан
  • 641 просмотр
Пригласить эксперта
Ответы на вопрос 2
Melkij
@Melkij
PostgreSQL DBA
Не уж то postgres нужно так много журналов хранить?

А то что перенесено куда-либо через archive_command самому postgresql вообще не нужно и база об этих файлах никак не беспокоится. Это нужно тому, кто это настраивает. И в ведении как раз этого человека и будет вопрос "сколько валов нужно хранить".
Если тот кто настраивал archive_command тоже не беспокоится об архиве - то архив будет бесконечен (16 EiB, это не шутка).

Архив wal нужен для pitr (или file-shipment replication). Для pitr нужны абсолютно все wal без исключения с момента снятия basebackup до требуемой точки восстановления (при том точка восстановления не может быть ранее времени окончания взятого за основу basebackup). В каких временных рамках вам нужен pitr - выбираете соответственно при определении собственной же политики требований к бекапам.
(10гб места под бекапы звучит откровенно поразительно, если у вас настолько маленькая база - то зачем вам 80гб основной диск? И 8 было бы много)
Ответ написан
@damprog
Не понятно, зачем вам WAL под 1С "с небольшими базами"?
pg_dump сделает вам за секунды...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы