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. -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance