Одна БД (9.5) пришла в положение: автовакуум постоянно запускает запрос:
autovacuum: VACUUM public.orders (to prevent wraparound)
и тот всегда висит "to prevent wraparound"
любые попытки ALTER TABLE зависают навсегда. Попытки завершаются
успехом при остановке pg_cancel_backend этого "to prevent wraparound".
В доке пишут подымите мол autovacuum_freeze_max_age, но я что-то не
пойму как его правильно поднять.
psql
psql (9.5.11)
Введите "help", чтобы получить справку.
unera=# show autovacuum_freeze_max_age;
autovacuum_freeze_max_age
---------------------------
200000000
(1 строка)
unera=# ALTER SYSTEM SET autovacuum_freeze_max_age = 1000000000;
ALTER SYSTEM
unera=# show autovacuum_freeze_max_age;
autovacuum_freeze_max_age
---------------------------
200000000
(1 строка)
unera=# SELECT pg_reload_conf();
pg_reload_conf
----------------
t
(1 строка)
unera=# show autovacuum_freeze_max_age;
autovacuum_freeze_max_age
---------------------------
200000000
(1 строка)
unera=# show autovacuum;
autovacuum
------------
off
(1 строка)
Остановка autovacuum тоже не помогла. Как только киляешь этот запрос -
он сразу запускает новый. И новый в этом состоянии `prevent` и все. Дальше
с БД сделать ничего нельзя.
Не хочется ее выключать. Можно что-то сделать без простоя?
--
. ''`. Dmitry E. Oboukhov <unera@debian.org>
: :’ :
`. `~’ GPG key: 4096R/08EEA756 2014-08-30
`- 71ED ACFC 6801 0DD9 1AD1 9B86 8D1F 969A 08EE A756