или нет.
1. PostgreSQL 11, min_wal_size 1 GB, max_wal_size 2 GB, archive_mode off, wal_level minimal, archive_command пуст. Заббикс показывал, что в процессе реиндексации целой базы количество сегментов WAL не уходило за 128, то есть 128 * 16 MB = 2048 MB, то есть как раз не выходило за пределы параметра. А учитывая, что при реиндексации журнал пишется активно, то значит PostgreSQL просто перезаписывал старые WAL-файлы, правильно я понимаю?
2. PostgreSQL 11, min_wal_size 1 GB, max_wal_size 2 GB, archive_mode on, wal_level replica, archive_command "строка отправки на сервер Probackup". В процессе реиндексации размер директории с WAL завалил уже за 25 Гб, при этом WAL-файлы корректно улетают на сервер бэкапа, просто с меньшей скоростью, чем они создаются (задержка где-то в 15 минут, то есть WAL-файл создался в 14:19, а судя по логам постгресса улетел на сервер в 14:35). Правильно ли я понимаю, что при непрерывном архивировании Postgresql ждет, пока WAL-файл отлетит на сервер и только после этого он может перерабатывать этот сегмент и поэтому он вынужден хранить больше WAL, чем указано ему в конфигурационном файле, чтоб не потерять журналы? В документации написано, что max_wal_size это мягкое ограничение и при необходимости валы могут занимать и больше места, но не смог найти подтверждение или опровержение тому, что пока WAL-файл не заархивируется, он не будет удален.
В целом верно
Понял, спасибо
1. Скорее всего, нет. Из описания wal_level = minimal ( https://www.postgresql.org/docs/current/runtime-config-wal.html ): The minimal level generates the least WAL volume. It logs no row information for permanent relations in transactions that create or rewrite them. <skip> Operations that initiate this optimization include: ... REINDEX 2. Да. И в документации это есть как в описании параметра archive_command (вскользь), так и тут: https://www.postgresql.org/docs/current/continuous-archiving.html#BACKUP-ARCHIVING-WAL
Посмотрел документацию по вашей ссылке, в моем случае реиндексация пишет журналы, поскольку команда Reindex исключена из минимального уровня только с 13 постгресса, в 11 и 12 она там присутствует
Не обратил внимания на версию, извините. :( Тогда да, если WAL никому не нужен (а с minimal он может быть нужен только для recovery, т.е. от последней (или, в той версии, предпоследней, сходу не помню) CHECKPOINT ), он сразу "выбрасывается" (файл удаляется или повторно используется).
Ну значит, я все правильно понял, спасибо
Обсуждают сегодня