2

他のデータベース テーブルを参照して、現在のデータベース テーブルに外部キーを作成したいと考えています。

ということで、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
4

0 に答える 0