Em breve será possível fazer isso:https://commitfest.postgresql.org/17/1252/ - Mark Rofail tem feito um excelente trabalho neste patch!
O patch permitirá (uma vez concluído)
CREATE TABLE PKTABLEFORARRAY (
ptest1 float8 PRIMARY KEY,
ptest2 text
);
CREATE TABLE FKTABLEFORARRAY (
ftest1 int[],
FOREIGN KEY (EACH ELEMENT OF ftest1) REFERENCES PKTABLEFORARRAY,
ftest2 int
);
No entanto, o autor atualmente precisa de ajuda para rebasear o patch (além da minha própria capacidade), então qualquer pessoa que esteja lendo isso e conheça os internos do Postgres, por favor, ajude se puder.