PostgreSQL сохраняет сегменты WAL, не требующиеся для любого слота репликации

Я имею wal_keep_segments установлен в 3000, Но каталог pg_xlog содержит более 6000 сегментов WAL. Интересно, что существует около 3000 файлов, датированных после 14 августа, поэтому, я думаю, файлов, датированных до 14 августа, быть не должно. Также в этих файлах установлен исполняемый бит.

$ ls -al pg_xlog | grep -A2 -B2 00000001000034DB0000003B
-rwx------  1 postgres postgres 16777216 Jul 19 07:58 00000001000034DB00000039
-rwx------  1 postgres postgres 16777216 Jul 19 07:58 00000001000034DB0000003A
-rwx------  1 postgres postgres 16777216 Jul 19 07:58 00000001000034DB0000003B
-rw-------  1 postgres postgres 16777216 Aug 14 19:17 0000000100003826000000EA
-rw-------  1 postgres postgres 16777216 Aug 14 19:17 0000000100003826000000EB

`` `

Этот кластер не имеет слотов репликации, archive_mode включен, но archive_command установлен в /bin/true, Я думаю, что новые сегменты WAL перерабатываются, и общее количество составляет около 6000, но Postgres по какой-то причине не удаляет старые файлы. Есть идеи?

1 ответ

PostgreSQL не имеет привычки устанавливать исполняемые флаги в сегментах WAL.

Кроме того, похоже, что в нумерации есть пробел.

Эти файлы должны быть там случайно, вы можете удалить их.

Другие вопросы по тегам