Ако мъртвите кортежи са се натрупали повече от това, което може да бъде отчетено в max_fsm_pages
, обикновен ВАКУУМ няма да може да освободи всичко. Крайният резултат е, че базата данни ще става все по-голяма и по-голяма с времето, тъй като мъртвото пространство продължава да се натрупва. Пускането на VACUUM FULL трябва да реши този проблем. За съжаление може да отнеме много време при голяма база данни.
Ако често се сблъсквате с този проблем, трябва или да почиствате с прахосмукачка по-често (автоматичното изсмукване може да помогне тук) или да увеличите max_fsm_pages
настройка. Когато стартирате VACUUM VERBOSE, той ще ви каже колко страници са били освободени и ще ви даде предупреждение, ако max_fsm_pages
беше надвишено, това може да ви помогне да определите каква трябва да бъде тази стойност. Вижте ръководството за повече информация. http://www .postgresql.org/docs/8.3/static/runtime-config-resource.html#RUNTIME-CONFIG-RESOURCE-FSM
За щастие, картата за видимост на 8.4 разрешава този проблем. Както обикновено Despesz има страхотна история по темата:http://www.depesz.com/index.php/2008/12/08/waiting-for-84-visibility-maps/