Re: There can be only one - Mailing list pgsql-general

From Andreas Kretschmer
Subject Re: There can be only one
Date
Msg-id 20151011112809.GA6083@tux
Whole thread Raw
In response to Re: There can be only one  (Andreas Kretschmer <andreas@a-kretschmer.de>)
List pgsql-general
Andreas Kretschmer <andreas@a-kretschmer.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°


pgsql-general by date:

Previous
From: Andreas Kretschmer
Date:
Subject: Re: There can be only one
Next
From: Victor Blomqvist
Date:
Subject: Re: Drop or alter column under load give ERROR #42804 structure of query does not match function result type: