Andreas Kretschmer <andreas@xxxxxxxxxxxxxxx> wrote: > Create a partial unique index on is_default. as an example: test=# CREATE TABLE payment_via ( id int PRIMARY KEY, provider text NOT NULL, keys hstore NOT NULL DEFAULT '', is_default boolean NOT NULL DEFAULT FALSE ); CREATE TABLE test=*# create unique index idx_default on payment_via(is_default) where is_default; CREATE INDEX test=*# insert into payment_via values (1, 'foo','', true); INSERT 0 1 test=*# insert into payment_via values (2, 'bla','', false); INSERT 0 1 test=*# insert into payment_via values (3, 'blubb','', true); ERROR: duplicate key value violates unique constraint "idx_default" DETAIL: Key (is_default)=(t) already exists. test=*# Andreas -- Really, I'm not out to destroy Microsoft. That will just be a completely unintentional side effect. (Linus Torvalds) "If I was god, I would recompile penguin with --enable-fly." (unknown) Kaufbach, Saxony, Germany, Europe. N 51.05082°, E 13.56889° -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general