Heavy statistics collector overhead
One of the background database processes that shouldn't occupy too much of your system is the statistics collector, which looks like this from the perspective of ps
:
Postgres 32450 32445 0 13:49 ? 00:00:00 postgres: stats collector process
Under normal circumstances, the statistics collection shouldn't take more than a few percent of CPU time even under heavy activity. There are occasional versions of PostgreSQL where this is not true. For example, 8.2.0 through 8.2.3 had a serious bug where statistics wrote far too often. But even if you're running 8.2, you should never be using such an old minor release of it anyway.
Sometimes circumstances aren't normal enough, and the statistics collector takes up a lot more time than it normally does to run. This is normally associated with the statistics collector file itself becoming very large; here's a small one:
$ ls -l $PGDATA/pg_stat_tmp -rw------- 1 postgres postgres 28961...