> > I'm curious as to how you monitor for total transaction time length
> to
> > ensure that vacuum is able to do its thing, particularly when the
> > transaction is active (not IDLE).
>
> We run a database vacuum nightly and review it the next day.
Ahh.. different issues again I guess.
I have a few structures that need to be vacuumed every 10 minutes or
less. If a transaction runs longer than 20 minutes (thus effectively
disabling vacuum for 20 minutes) I run into pretty big problems.
I watch for table bloat but I haven't figured out a nice way of tracking
down the postgresql process with the oldest transaction running short of
patching PostgreSQL to report the XID for a connection in
pg_stat_activity.
--