Вакуумные таблицы в postgresql

Используя postgresql-9.2, в этом Сейчас я нахожу таблицы с dead_tuples, используя следующий запрос

select relname from pg_stat_user_tables where n_dead_tup > 0

это изменит имя таблицы, а затем я запущу

VACUUM VERBOSE ANALYZE <table_name>

Это хороший метод или мне нужно изменить его, если да, пожалуйста, предложите мне несколько методов

Спасибо


person Community    schedule 13.09.2014    source источник
comment
А автовакуум? Он должен выполнять эту работу по умолчанию   -  person Frank Heikens    schedule 13.09.2014
comment
Когда я делаю select * from pg_stat_user_tables ..., я вижу, что last_auto_vacuum — это метка времени, и это null, даже если autovacuum установлено на on.   -  person Magno C    schedule 09.04.2018


Ответы (1)


согласно документации

VACUUM восстанавливает память, занятую мертвыми кортежами.

Но согласно эта запись

Мертвые строки — это удаленные строки, которые позже будут повторно использоваться для новых строк из INSERT или UPDATE. Некоторые мертвые строки (или зарезервированное свободное пространство) могут быть особенно полезны для ГОРЯЧИХ обновлений (кортежей только для кучи), которые могут эффективно повторно использовать пространство на одной и той же странице данных.

person Hasan Ramezani    schedule 13.09.2014
comment
Some dead rows... другие нет. Ты говоришь нам не пылесосить? - person Magno C; 09.04.2018
comment
@MagnoC вы должны использовать вакуум. Без вакуума для больших баз данных будет сложно хранить и управлять ими. Лучше выставить правильные настройки для автоочистки и она справится сама. - person Saidolim; 31.01.2019