Как добавить ограничение внешнего ключа для массива в PostgreSQL? - PullRequest
0 голосов
/ 06 августа 2020

Как добавить ограничение внешнего ключа для массива в 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 Ответ

1 голос
/ 06 августа 2020

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

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

...