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