PostgreSQL autovacuum daemon
PostgreSQL has the autovacuum daemon that will do some database housekeeping for the following reasons:
Recover or reuse disk space occupied by updated or deleted rows.
To update data statistics used by the PostgreSQL query planner.
To update the visibility map, which speeds up index-only scans.
To protect against loss of very old data due to transaction ID wraparound or multixact ID wraparound.
Many of the latest versions of PosgreSQL has the autovacuum enabled by default but you can check if the vacuum daemon is running with the following command:
PostgreSQL full vacuum with crontab
It might be overkill as my PostgreSQL databases are not that big but still I like to do a full vacuum sometimes.
It is easy to incorporate a crontab that can do a full database vacuum on a specific time.
This is just the basics but it still powerful enough to use.