тесте раздулся pg_wal почти до размеров самой базы (75 гигов из 84),
выставлял archive_command = /bin/true
делал checkpoint
Дропал базу целиком и заливал заново, ситуация не меняется. Куда копать?
а слотов репликации случайно нету ? pg_replication_slots
Есть, два штуки, но не используются, wal_keep_size отключил тоже
а если их удалить ?
если есть слот репликации, то он по идеи будет удерживать wal файл до тех пор, пока кто то через него не войдет и не заберет его.
Пардон, обманул, один из них используется, второй сейчас дропнул, место немного появилось после чекпойнта, 15 гигов ушло, но все равно pg_wal под 60 гигов висит
Раз не используются (и активны) — WAL будет накапливаться, они же для этого и нужны. Ну и вообще, см.: SELECT slot_name, slot_type, wal_status, restart_lsn /*, ... */ FROM pg_replication_slots; SELECT * FROM pg_stat_archiver; SHOW wal_keep_size; SELECT * FROM pg_control_checkpoint();
Не, с одним я махнул, думал что отключил оба, а сейчас глянул один из них используется, второй я дропнул - вроде лучше. Но вроде как на днях тут обсуждалось, я помню, что при использовании слотов репликации wal не забивает место целиком то начиная с 14 версии, или я что-то не так понял
Да, Вы что-то не так поняли — это нужно настраивать (по умолчанию выключено, естественно).
Обсуждают сегодня