Det finns behandlat i användarmanualen .
Den korta versionen:du kan använda främmande nycklar, eller tabellarv, men inte båda. Detta är inte i sig omöjligt, det är bara det att det är tekniskt ganska svårt att implementera unika index som spänner över ärvda tabeller i PostgreSQL på ett snabbt och tillförlitligt sätt. Utan det kan du inte ha en användbar främmande nyckel. Ingen har framgångsrikt implementerat det tillräckligt bra för att en patch som lägger till stöd ska accepteras i PostgreSQL ännu.
En främmande nyckel kan peka på en tabell som är en del av en arvshierarki, men den hittar bara rader i den tabellen exakt . Inte i några överordnade eller underordnade tabeller. För att se vilka rader den främmande nyckeln ser, gör en SELECT * FROM ONLY thetable
. ONLY
nyckelord betyder "ignorering av arv" och det är vad den främmande nyckeln kommer att göra.