Как добавить ограничение внешнего ключа для массива в PostgreSQL?

Как добавить ограничение внешнего ключа для массива в PostgreSQL?

таблица поиска для ролей

CREATE TABLE party_role_cd
(
  party_role_cd bigint NOT NULL,
  code character varying(80) NOT NULL,
  CONSTRAINT party_role_cd PRIMARY KEY (party_role_cd)
);

Партия может иметь ноль или несколько ролей [отношение 0-N]

CREATE TABLE party
(
  party_id biging NOT NULL,
  party_role_cd bigint[] NOT NULL,
  CONSTRAINT party_id PRIMARY KEY (party_id)
);

Как добавить foreign key ограничение для party_role_cd array в party Таблица?

1 ответ

Решение

Это не реализовано в PostgreSQL. В настоящее время ограничения FK действуют только на равенство между целыми значениями столбца. Нет ссылок между элементами. Есть открытый элемент TODO, который был добавлен в 2010 году. См.:

Были даже попытки реализовать его, но так и не до конца.

Другие вопросы по тегам