他のデータベース テーブルを参照して、現在のデータベース テーブルに外部キーを作成したいと考えています。
ということで、FDWに決定。
次の手順を実行しました。
ステップ 1 : 拡張機能の作成
CREATE EXTENSION postgres_fdw;
ステップ 2 : 外部サーバーの作成
CREATE SERVER foreign_server
FOREIGN DATA WRAPPER postgres_fdw
OPTIONS (host '127.0.0.1', port '5432', dbname 'testing');
CREATE USER MAPPING FOR postgres
SERVER foreign_server
OPTIONS (user 'postgres', password 'password');
ステップ 3 : 外部テーブルの作成
CREATE FOREIGN TABLE fgn_tbl_calculator
(
value1 integer,
value2 integer,
sum integer,
sub integer,
div integer,
mul integer
)
SERVER foreign_server
OPTIONS (schema_name 'public', table_name 'calculator');
ステップ 4 : 外部キーを使用してテーブルを作成する
create table calculator_copy
(
value1 integer,
value2 integer,
sum integer,
sub integer,
div integer,
mul integer,
primary key (value1),
foreign key (value1) references fgn_tbl_calculator(value1)
);
しかし、エラーが発生しました:
ERROR: referenced relation "fgn_tbl_calculator" is not a table