For a large database with lots of activity (transactions), the XIDs are very
often re-frozen by AutoVacuum. Even when autovacuum_freeze_max_age is set to
2 billion, the XIDs can wrap every couple of days on an active database.
This causes unnecessary changes to otherwise unmodified files and archiving
processes that use rsync or similiar processes have way more work to do.
Couldn't postgres reserve a special XID that is never available for normal
transactions but that indicates that any transaction can see it because it
is so old? Then instead of constantly having to freeze old XIDs each time
the XID is going to wrap, vacuum can just set it to the special XID and
never touch it again unless something really changes.
--
View this message in context: http://postgresql.nabble.com/Avoiding-Refreezing-XIDs-Repeatedly-tp5837222.html
Sent from the PostgreSQL - performance mailing list archive at Nabble.com.