Claudio,
VACUUMing your database is *crucial* to performance. It needs to be done at least once daily, and several times a day if your database receives lots of updates, inserts or deletes.
Please read the PostgreSQL Administrator's Guide and famialirize yourself with what it takes to maintain a PostgreSQL server.
Also, you're probably running with PostgreSQL defaults, which are very conservative. If you have a more modern machine, you could up those defaults and get much better performance. Search google for "postgresql performance".
-Roberto