I tried adding a not-null column in one step and got a collation error for a different column. Adding the column in several steps works:
itd=> alter table livedata add column pricechanged timestamp not null default current_timestamp; ERROR: no collation was derived for column "whois_b" with collatable type citext TIP: Use the COLLATE clause to set the collation explicitly. itd=> \d livedata Table "public.livedata" Column | Type | Modifiers --------------+-----------------------------+----------------------------------------- accessid | integer | not null sp_b | double precision | default 0 csh_b | double precision | default 0 sp_a | double precision | default 0 csh_a | double precision | default 0 asw_b | double precision | default 0 asw_a | double precision | default 0 amount | character varying(25) | default ' '::character varying bench | character varying(25) | default NULL::character varying updated_b | date | updated_a | date | whois_b | citext | default ' '::character varying whois_a | citext | default ' '::character varying b_orig | double precision | default 0 a_orig | double precision | default 0 lcontrol | integer | not null default 0 rcontrol | integer | not null default 0 hlcleared | boolean | not null default false yield_b | double precision | default 0 yield_a | double precision | default 0 itd=> alter table livedata add column pricechanged timestamp; ALTER TABLE itd=> alter table livedata alter column pricechanged set default current_timestamp; ALTER TABLE itd=> update livedata set pricechanged = default; UPDATE 6000 itd=> alter table livedata alter column pricechanged set not null; ALTER TABLE -- Christian -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers