たとえば、次のような外部テーブルがあります。
CREATE FOREIGN TABLE film (
id varchar(40) NOT NULL,
title varchar(40) NOT NULL,
did integer NOT NULL,
date_prod date,
kind varchar(10),
len interval hour to minute
)
SERVER film_server;
そのテーブルのプライマリ キーとして id を使用します (リモート データベースで設定)。ローカル テーブルで外部テーブルを参照し、ローカル テーブルに外部キー制約を設定したいと考えています。たとえば、次のようになります。
CREATE TABLE actor (
id varchar(40) NOT NULL,
name varchar(40) NOT NULL,
film_id varchar(40) NOT NULL,
)
ALTER TABLE actor ADD CONSTRAINT actor_film_fkey FOREIGN KEY (film_id)
REFERENCES film(id);
ただし、外部キー制約を追加しようとすると、次のエラーが発生します。
ERROR: referenced relation "film" is not a table
外部テーブルに外部キー制約を追加することはできますか?