I don't refer to the 1 Byte null bitmap included in the row header that could be used to flag null values for any of the first 8 columns. See:
My question is about the new 8 bytes null bitmap added by Postgresql to each row:
- with 9 or more columns
- and including at least one null
I have done some tests by creating / populating some tables and checking row size using pgstattuple
extension and I have observed this strange behavior.
The new null bitmap is created even if the 9th (and last) column is created with NOT NULL
constraint.
Do you have any explanations? Or am I doing something wrong?