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 ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers