Andres Freund <and...@2ndquadrant.com> writes: > dance. If the record can be smeared over two pages there is no point in > storing it aligned.
I think this is not true. The value of requiring alignment is that you can read the record-length field without first having to copy it somewhere. In particular, it will get really ugly if the record length field itself could cross a page boundary. I think we want to be able to determine the record length before we do any data copying, so that we can malloc the record buffer and then just do one copy step. The real reason for the current behavior of not letting the record header get split across multiple pages is so that the length field is guaranteed to be in the first page. We can still guarantee that if we (1) put the length field first and (2) require at least int32 alignment. I think losing that property will be pretty bad though. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers