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?