Tanmay Patel <tan(dot)patel(dot)may(at)gmail(dot)com> writes:
> If I insert a NULL value explicitly into a column declared to be NOT NULL
> DEFAULT 0 in postgreSQL 8.4 the column ends up with the default value. If I
> do the same in postgreSQL 9.0 I get an error about how I am inserting a
> null value into a NOT NULL column.
I'm sorry, but you're quite mistaken about the behavior of 8.4. Every
version of Postgres would reject this; no version has ever considered an
explicit specification of NULL to be an invitation to insert the
column's default value instead. (I have heard that mysql acts that way,
though.)
regards, tom lane