I have an issue with my postgres database, I'm running massive update queries (1000 per second) to a single table (with 3000 entries) and I can see that the size of that table is growing and growing up.
The way that I'm restoring the size is making these queries:
VACUUM FULL [TABLE]; REINDEX TABLE [TABLE];
This will return the size of my [TABLE] to its original size.
That's working fine for me, but the problem is that I have to shutdown the application server to run those queries; if I run them with the server alive, the [TABLE] size is reduced, but just a bit.
My problem is reduced to 2 questions:
1. Why this table is growing if I'm just making updates?
2. How could I solve this problem without shutting down my application server?
Thank you very much for your time and your responses.
Update: Postgres versions are from 8.3.x up to 9.x
Update-2: The problem was because an IDLE connection was being kept alive by some application, by killing the connection and performing a vacuum all the problems were solved.