Имея опыт работы с Oracle, я предполагал, что каждое уникальное ограничение будет повторно использовать уникальный индекс.
Я создал скрипт заполнения схемы, который создает именованный уникальный индекс и затем то же уникальное ограничение.Таким образом, я надеялся установить имя индекса явно, а не ретранслировать в схеме именования Postgres по умолчанию.
Как показал эксперимент, в результате я получил два индекса с одинаковым определением:
CREATE UNIQUE INDEX agent_ux ON agent (branch_id, initials);
ALTER TABLE agent ADD CONSTRAINT agent_uk UNIQUE (branch_id, initials);
select indexname from pg_indexes where tablename = 'agent';
agent_ux
agent_uk
DoesnPostgres повторно использует уникальные индексы для ограничения уникального ключа?
ПРИМЕЧАНИЕ Я не могу удалить индекс, соответствующий уникальному ограничению (ошибка говорит о связанном ограничении), но индекс автоматически удаляется, если яудалить ограничение.