I have a near-real-time system writing into a Postgres 7.4.2 database
on the order of 340 million rows per day in about 300 million
transactions. So we quickly bump up against the XID wrap-around
issue. To address this, we divide the tables into 24-hour periods.
Once we roll over to a new period, the old tables are read-mostly.
We then run vacuum every 24 hours.
The problem is that we are writing rows every 1/15 second, 24x7. There
is no down time. I'm wondering if there is any way to avoid vacuuming
the old tables over and over. The documentation seems to indicate that
a full vacuum is needed to avoid XID wrap-around. Can vacuum freeze
help me?
Thanks,
--Ian