短いバージョン:外部キーまたはテーブル継承を使用できますが、両方を使用することはできません。これは本質的に不可能ではありません。PostgreSQLの継承されたテーブルにまたがる一意のインデックスを高速で信頼性の高い方法で実装することが技術的に非常に難しいというだけです。それがなければ、有用な外部キーを持つことはできません。パッチ追加サポートがPostgreSQLに受け入れられるほど十分に実装された人はまだいません。
外部キーは、継承階層の一部であるテーブルを指すことができますが、そのテーブル内の行のみが正確に見つかります。 。親テーブルまたは子テーブルにはありません。外部キーがどの行を参照しているかを確認するには、 SELECT * FROM ONLY thetable
を実行します。 。 のみコード> キーワードは「継承を無視する」ことを意味し、それが外部キールックアップが行うことです。