我想通过引用其他数据库表在当前数据库表中创建外键。
所以我决定和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