Ranier Vilela <ranier(dot)vf(at)gmail(dot)com> writes:
> create table inserttest (col1 serial PRIMARY KEY, col2 int4 NOT NULL, col3
> text NOT NULL, col4 text NULL);
> insert into inserttest select 0 AS col2, NULL AS col3, NULL AS col4;
> ERROR: null value in column "col2" of relation "inserttest" violates
> not-null constraint
> DETAIL: Failing row contains (0, null, null, null).
You are misunderstanding the effects of that INSERT. The AS labels
have zero to do with the semantics, so you are inserting 0 to col1,
null to col2 & col3, and by default null to col4.
regards, tom lane