Alvaro Herrera <alvherre@xxxxxxxxxxxxxxxxx> writes: > Jim C. Nasby wrote: >> Ok, I'll bite... any idea how (MaxTransactionId >> 3) * 3 was chosen? I >> don't see anything about it in vacuum.c... > I don't remember exactly why was that constant chosen. IIRC Tom pulled > it out of thin air. Pretty much. One of the main constraints at the time was that we wanted it to be warning for a good long time before actual wraparound happened, because the consequences would be so catastrophic. Now that there's some failsafe code in place, it might be reasonable to narrow the margin so it doesn't start bleating quite so soon. We'd still be pulling specific numbers out of the air though ... regards, tom lane