"David G. Johnston" <david.g.johns...@gmail.com> writes: > Or, we can leave it where things are and make sure the reader understands > there are two paths to having a NOT NULL constraint on the newly added > column. Something like:
> "If you plan on having a NOT NULL constraint on the newly added column you > should add it as a column constraint during the ADD COLUMN command. If you > add it later via ALTER COLUMN SET NOT NULL the table will have to be > completely scanned in order to ensure that no null values were inserted." The first way also requires having a non-null DEFAULT, of course, and then also that default value must be a constant (else you end up with a table rewrite which is even worse). This sort of interaction between features is why I feel that a separate unified discussion is the only reasonable solution. regards, tom lane