A conversation in pgsql-interfaces reminded me that it would be a good idea for initdb to try to set attnotnull correctly for columns of the system catalogs. Although we generally don't recommend that people update catalogs directly, it's sometimes done anyway; having NOT NULL constraints set on the columns that mustn't be null would help make the system more robust.
It would be fairly easy to make bootstrap.c set attnotnull to true for any column that's of a fixed-width datatype. That appears to solve 99% of the problem with an appropriate amount of effort. We could imagine inventing some BKI macro to explicitly label nullable or not-nullable columns in the include/catalog headers, but I don't think it's worth that much trouble. Comments? regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])