Det kan snart vara möjligt att göra detta:https://commitfest.postgresql.org/17/1252/ - Mark Rofail har gjort ett utmärkt arbete med denna patch!
Plåstret tillåter (när det är klart)
CREATE TABLE PKTABLEFORARRAY (
ptest1 float8 PRIMARY KEY,
ptest2 text
);
CREATE TABLE FKTABLEFORARRAY (
ftest1 int[],
FOREIGN KEY (EACH ELEMENT OF ftest1) REFERENCES PKTABLEFORARRAY,
ftest2 int
);
Författaren behöver dock för närvarande hjälp med att bygga om patchen (utöver min egen förmåga) så alla som läser det här som känner till Postgres internals vänligen hjälp om du kan.