### Údržba databázového objektu

Tento nástroj umožňuje údržbu jak celé databáze, tak jednotlivých tabulek nebo jednotlivých indexů.

Lze provádět tři druhy údržby:

### VACUUM

VACUUM vyhledává v databázi nebo tabulce řádky, které se již nepoužívají. Když se aktualizuje nebo maže řádek, předchozí obsah se nepřepisuje, ale řádek se pouze označí jako neplatný. Nová data se čistě vloží do databáze. Úklid je zapotřebí spouštět pravidelně, aby v databázi příliš nepřibývalo nepoužívaných dat. To by vedlo ke zbytečnému úbytku místa na disku a zhoršování výkonu.

Pokud si chcete o příkazu VACUUM nastudovat více, zmáčkněte prosím tlačítko „Nápověda“, které vám zobrazí nápovědu PostgreSQL.

Výstup databázové serveru se průběžně zobrazuje na kartě „Zprávy“. Pokud zvolíte „Podrobné zprávy“, bude server podávat velmi podrobné informace.

Jakkoliv je tento nástroj praktický pro účely občasné údržby, měli byste spíše uvažovat o realizaci automatické úlohy, která bude provádět VACUUM pravidelně. Jen tak se udrží vaše databáze čistá. Od verze 8.1 PostgreSQL je automatické provádění úklidu přímo integrované v serveru.

### ANALYZE

ANALYZE zjišťuje statistické údaje o vybrané databázi nebo tabulce. Ty pak slouží optimalizátoru dotazu k určení nejrychlejšího plánu dotazu, tak abyste získali optimální výkon. Tuto úlohu byste měli spouštět vždy, když se radikálně změní data. Lze ji provádět i jako součást spuštění VACUUM pomocí příslušné volby.

### REINDEX

REINDEX znovu sestaví indexy v případě, že byly znehodnocené při vkládání neobvyklých dat. Může se to například stát, když se vkládá mnoho řádků zvyšujících hodnoty indexů a mažou nízké hodnoty indexů.

S volbou RECREATE se nevolá interně příkaz SQL REINDEX, ale místo toho se odstraní stávající tabulka a znovu se vytvoří podle stávající definice indexu. Přitom se neprovádí exkluzivní zamykání tabulky, jako to dělá REINDEX, ale zamyká se pouze proti zápisu.