A highly recommended maintenance task with postgresql databases is to perform a vacuum periodically. This can be done by an autovacuum daemon. For more information about autovacuum read this routine-vacuuming.htm
Here is an excertp from the official documentation on http://www.postgresql.org/
You can access the full article here sql-vacuum.html
VACUUM reclaims storage occupied by dead tuples. In normal PostgreSQL operation, tuples that are deleted or obsoleted by an update are not physically removed from their table; they remain present until a VACUUM is done. Therefore it's necessary to do VACUUM periodically, especially on frequently-updated tables.
With no parameter, VACUUM processes every table in the current database that the current user has permission to vacuum. With a parameter, VACUUM processes only that table.
VACUUM ANALYZE performs a VACUUM and then an ANALYZE for each selected table. This is a handy combination form for routine maintenance scripts. See ANALYZE for more details about its processing.