Maintaining indexes

Indexes can become a problem in many database applications that involve a high proportion of INSERT/DELETE commands. Just as tables can become bloated, so can indexes.

In the previous recipe, you saw that non-HOT updates can cause bloated indexes. Non-primary-key indexes are also prone to some bloat from normal INSERT commands, as is common in most relational databases.

Autovacuum does not detect bloated indexes, nor does it do anything to rebuild indexes. So, we need to look at other ways to maintain indexes.

Getting ready

PostgreSQL supports commands that will rebuild indexes for you. The client utility, reindexdb, allows you to execute the REINDEX command in a convenient way from the operating system:

$ reindexdb

This executes ...

Get PostgreSQL 9 Administration Cookbook - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.