> Sure -- use CREATE UNIQUE INDEX. > > alvherre=# create function singleton(int) returns int immutable language sql as $$ select 1 $$; > CREATE FUNCTION > alvherre=# create table singleton (a int); > CREATE TABLE > alvherre=# create unique index only_one on singleton (singleton(a)); > CREATE INDEX > alvherre=# insert into singleton values (3); > INSERT 0 1 > alvherre=# insert into singleton values (6); > ERROR: llave duplicada viola restricción de unicidad «only_one»
And it's possible to make this check deferrable? Uniqueness will be validated on commit or SET ALL CONSTRAINTS IMMEDIATE command? > > > The reason it's not supported in table_constraint, IIUC, is that the > standard doesn't allow it, and that syntax is standards-mandated. > CREATE INDEX, however, is not. -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers