Gregory Stark <stark@enterprisedb.com> writes:
> "Tom Lane" <tgl@sss.pgh.pa.us> writes:
>> On investigation the problem occurs because we changed vacuum.c's
>> PageGetFreeSpaceWithFillFactor() to use PageGetHeapFreeSpace()
>> instead of just computing pd_upper - pd_lower as it had done in
>> every previous release. This was *not* a good idea: VACUUM FULL
>> does its own accounting for line pointers and does not need "help".
> Fwiw this change appears to have crept in when the patch was merged.
Yeah, it's entirely likely that this was my fault :-(. It wasn't
apparent at the time that this change wasn't safe and conservative...
regards, tom lane