Я создаю таблицу с уникальным индексом в схеме следующим образом:
create schema s1;
create table s1.test(key int);
create unique index test_index on s1.test(key);
Теперь, когда я запрашиваю information_schema.table_constraints
, индекс не отображается. Это почему? Тем не менее, индекс работает правильно:
test=# insert into s1.test(key) values (1);
INSERT 0 1
test=# insert into s1.test(key) values (1);
ERROR: duplicate key value violates unique constraint "test_index"
DETAIL: Key (key)=(1) already exists.
База данных test
, которую я здесь использую, принадлежит текущему пользователю.
обновление
Похоже, что ограничение также не показано в схеме public
:
create table test(key int);
create unique index test_index on test(key);
select * from information_schema.table_constraints;