Robert Haas <robertmh...@gmail.com> writes: > Actually it's more complicated than that. You'd need to remember > whether or not the NOT NULL was added when the primary key was added, > or whether it was there before, and only drop it if it wasn't there > before.
We've discussed before the idea that NOT NULL constraints should be explicitly represented in pg_constraint, just like general CHECK constraints (this would allow them to be named, have sane inheritance behavior, etc). If we had that, then pg_attribute.attnotnull could indicate the OR of "there is a NOT NULL on this column" and "there is a pkey constraint on this column", and you'd just have to recompute it properly after dropping either kind of constraint. Not happening for 8.4, but maybe someday someone will get around to it. 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