|
В таблицу не приходит Autovacuum
|
|||
---|---|---|---|
#18+
Добрый день! Подскажите куда смотреть для решения проблемы. В таблицу не приходит автовакуум. PG 12.2 таблица some_db.document; у нее установлены опции автоотчистки: Код: plaintext 1.
запрос: Код: plsql 1. 2.
возвращает: Код: plaintext 1. 2.
reltuples для таблицы: Код: plsql 1.
возвращает: Код: plaintext 1. 2. 3.
как я понимаю автовакум должен придти так как: Код: plaintext
но он не приходит, в логах ошибок нет. При этом в логах видно, что автовакум приходит в другую БД. То есть процесс работает, статистика отрабатывает, но таблица не чистится. Подскажите куда смотреть ? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2021, 14:18 |
|
В таблицу не приходит Autovacuum
|
|||
---|---|---|---|
#18+
Sceers, А настойки точно такие? Покажите, что показывает select reloptions from pg_class where relname = 'document' -- для самой таблиц, а не toast-части. И что на уровне системы select name, setting, unit from pg_settings where name ~ 'autovacuum'; ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2021, 15:34 |
|
В таблицу не приходит Autovacuum
|
|||
---|---|---|---|
#18+
Павел Лузанов, Спасибо за ответ ! Запрос: Код: plsql 1.
Вернул: Код: plaintext 1. 2.
запрос: Код: plsql 1.
вернул: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Основной объем данных в toast таблице. Как я понимаю именно настройки toast должны применяться, или это не так ?. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2021, 17:12 |
|
В таблицу не приходит Autovacuum
|
|||
---|---|---|---|
#18+
тогда наверное надо смотреть Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2021, 17:15 |
|
В таблицу не приходит Autovacuum
|
|||
---|---|---|---|
#18+
Sceers, А чем заняты воркеры автоочистки в pg_stat_activity и сколько их всего выделено? Может быть такое что автоочистка застряла на других больших таблицах и до этой ещё не дошла(25.02 всё-таки доходила)? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2021, 19:51 |
|
В таблицу не приходит Autovacuum
|
|||
---|---|---|---|
#18+
Guzya тогда наверное надо смотреть Код: sql 1.
Запрос: Код: plsql 1.
Вернул: Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2021, 07:12 |
|
В таблицу не приходит Autovacuum
|
|||
---|---|---|---|
#18+
Павел Лузанов Sceers, А чем заняты воркеры автоочистки в pg_stat_activity и сколько их всего выделено? Может быть такое что автоочистка застряла на других больших таблицах и до этой ещё не дошла(25.02 всё-таки доходила)? Да вы правы 25.02 автоочистка проходила и в какой то момент перестала по логам видно что automatic vacuum приходит , но только в одну таблицу , примерно каждый час команда : Код: plaintext
Вывод: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
Как я это понимаю: 1) Сам процесс автовакума работает, он приходит, но в другую БД 2) По логам видно что приходит раз в час, то есть не занят какой то большой таблицей Но почему перестал приходить в нужную таблицу, я пока не понимаю, а очень хочется. Таблица mamonsu_timestamp_master_2_6_2 занимает 56 кБ: Код: plsql 1.
Вывод: Код: plaintext 1. 2. 3. 4.
Можно ли как то отключить автовакум для конкретной БД ? или еще чего. Всю голову сломал разбираясь. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2021, 07:21 |
|
В таблицу не приходит Autovacuum
|
|||
---|---|---|---|
#18+
Sceers, тут ошибся немного: авторпо логам видно что automatic vacuum приходит , но только в одну таблицу , примерно каждый час автовакуум приходит не в другую таблицу, а в другую БД. То есть 25.02 автовакум перестал приходить в конкретную БД и ко всем таблицам с ней связанным. Что еще проверил - сбор статистики работает, при обновлении запроса: Код: plsql 1. 2.
меняется количество "мертвых " кортежей ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2021, 07:39 |
|
В таблицу не приходит Autovacuum
|
|||
---|---|---|---|
#18+
Sceers, в логах ошибок точно нет? возможно стоит проверить логи за более старые даты. в pg_stat_activity и pg_stat_progress_vacuum не смотрели, есть ли запущенные autovacuum/autoanalyze процессы в данный момент, сколько их и чем они заняты? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2021, 08:23 |
|
В таблицу не приходит Autovacuum
|
|||
---|---|---|---|
#18+
Alexius Sceers, в логах ошибок точно нет? возможно стоит проверить логи за более старые даты. в pg_stat_activity и pg_stat_progress_vacuum не смотрели, есть ли запущенные autovacuum/autoanalyze процессы в данный момент, сколько их и чем они заняты? по логам видно что последний раз автовакум приходил в нужную БД 26.02 последний записи: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
после этого автовакум перестал ходить в some_db запрос: Код: plsql 1.
- пусто запрос: Код: plsql 1.
- пусто выполнил в ручную vacuum (verbose) table - вакуум выполнился. Но почему не приходит автовакум - не понимаю ( ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2021, 08:58 |
|
В таблицу не приходит Autovacuum
|
|||
---|---|---|---|
#18+
Sceers, Попробуйте в some_db провести эксперимент. Создайте табличку, добавте в неё 100 строк, затем все строки удалите. В течение 10 секунд (ваш измененный autovacuum_naptime) в базу должна прийти aвтоочистка, подождите это время и посмотрите в pg_stat_all_tables. Помониторьте pg_stat_progress_vacuum на это время, там точно меньше 8 строчек(autovacuum_max_workers)? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2021, 11:03 |
|
В таблицу не приходит Autovacuum
|
|||
---|---|---|---|
#18+
Павел Лузанов Sceers, Попробуйте в some_db провести эксперимент. Создайте табличку, добавте в неё 100 строк, затем все строки удалите. В течение 10 секунд (ваш измененный autovacuum_naptime) в базу должна прийти aвтоочистка, подождите это время и посмотрите в pg_stat_all_tables. Помониторьте pg_stat_progress_vacuum на это время, там точно меньше 8 строчек(autovacuum_max_workers)? Спасибо за совет, так и сделаю. Так же предложили вариант выполнить Код: plaintext
Но сначала проверю ваш совет. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2021, 14:05 |
|
В таблицу не приходит Autovacuum
|
|||
---|---|---|---|
#18+
Sceers, Итак результат. Выполнив Код: plaintext
процессы автовакуума за шевелились. В логах появилась информация, и вроде все ожило. Похоже каким то образом сломалась статистика, но почему - я не знаю. В pg_stat_activity появились процессы autovacuum worker. Всем спасибо за помощь, очень помогли ! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2021, 19:47 |
|
|
start [/forum/topic.php?fid=53&msg=40050567&tid=1994160]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
27ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
others: | 253ms |
total: | 370ms |
0 / 0 |