Значение вакуума 10 дней назад - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть много таблиц, которые я уже пылесосил в последние два дня, кроме того, автоматическое включение вакуума даже при том, что когда я запускаю приведенный ниже запрос, я обнаруживаю, что пылесосящие таблицы, над которыми я работал, не вакуумировались с 10 дней go, поэтому как я могу справиться с этим?

select relname, n_dead_tup, last_vacuum, last_autovacuum from 
pg_catalog.pg_stat_all_tables where 
n_dead_tup > 0 order by n_dead_tup desc

1 Ответ

1 голос
/ 13 апреля 2020

Не нужно ничего делать. Если в таблице не так много UPDATE s или DELETE s, часто пылесос не требуется.

Проверьте количество строк:

SELECT reltuples 
FROM pg_class
WHERE relname = 'mytable';

и число мертвых кортежей:

SELECT n_dead_tup
FROM pg_stat_user_tables
WHERE relname = 'mytable';

Если количество мертвых кортежей превышает 20% от числа строк, будет активирован автовакуум.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...