これが私がやっている方法です:
CREATE EXTENSION IF NOT EXISTS postgres_fdw;
DROP SERVER IF EXISTS myserver CASCADE;
CREATE SERVER myserver FOREIGN DATA WRAPPER postgres_fdw OPTIONS (host '10.1.1.1', dbname 'mydb', port '5432');
DROP USER MAPPING IF EXISTS FOR user SERVER myserver;
CREATE USER MAPPING FOR user
SERVER myserver
OPTIONS (user 'user', password 'password');
CREATE FOREIGN TABLE IF NOT EXISTS foriegnemployee(
id int,
name text,
is_done boolean
)
SERVER myserver
OPTIONS (schema_name 'myschema', table_name 'employee');
次のクエリを実行すると、テーブル mydb.employee が存在しないと表示されます。
Update foriegnemployee set is_done=true where id in (select id from sometable);
sometable はローカルテーブルです。従業員テーブルはリモートデータベースにあります