Изменение коэффициента заполнения существующей таблицы
Можно ли изменить коэффициент заполнения существующей таблицы в PostgreSQL 8.4?
Или мне нужно создать копию таблицы с новым fillfactor - что не самый лучший подход из-за проблем с внешним ключом?
2 ответа
Решение
Да, это возможно Но вы должны VACUUM FULL или CLUSTER этой таблицы впоследствии, чтобы переписать таблицу.
ALTER TABLE foo SET ( fillfactor = 50);
VACUUM FULL foo;
ALTER TABLE foo SET ( fillfactor = 20);
VACUUM FULL foo;
Посмотреть параметры таблицы вкл. коэффициенты заполнения
select t.relname as table_name,
t.reloptions
from pg_class t
join pg_namespace n on n.oid = t.relnamespace
where n.nspname = 'jxy'
and t.relname in ('xx', '')
;
затем
run pg_repack