| From: | Andreas Kretschmer <akretschmer(at)spamfence(dot)net> |
|---|---|
| To: | pgsql-general(at)postgresql(dot)org |
| Subject: | Re: There can be only one |
| Date: | 2015-10-11 11:28:09 |
| Message-ID: | 20151011112809.GA6083@tux |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
Andreas Kretschmer <andreas(at)a-kretschmer(dot)de> 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°
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Victor Blomqvist | 2015-10-12 01:15:17 | Re: Drop or alter column under load give ERROR #42804 structure of query does not match function result type: |
| Previous Message | Andreas Kretschmer | 2015-10-11 09:14:27 | Re: There can be only one |