From: | "Dmitry E(dot) Oboukhov" <unera(at)debian(dot)org> |
---|---|
To: | pgsql-ru-general(at)lists(dot)postgresql(dot)org |
Subject: | VACUUM to prevent wraparound |
Date: | 2018-04-16 12:31:53 |
Message-ID: | 20180416123153.rgqdaixeivck4aod@vdsl.uvw.ru |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-ru-general |
Одна БД (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(at)debian(dot)org>
: :’ :
`. `~’ GPG key: 4096R/08EEA756 2014-08-30
`- 71ED ACFC 6801 0DD9 1AD1 9B86 8D1F 969A 08EE A756
From | Date | Subject | |
---|---|---|---|
Next Message | Sergei Kornilov | 2018-04-16 12:48:11 | Re: VACUUM to prevent wraparound |
Previous Message | Nikolay Samokhvalov | 2018-04-13 15:19:46 | Re: SELECT FOR UPDATE без транзакции |