リモート Postgres データベースのテーブルにアクセスする必要があります。昨夜、ドキュメントを読むのに数時間費やしました。これが私が思いついたものです。
-- surely this thing is already written somewhere?
CREATE FUNCTION pgsql_fdw_handler()
RETURNS fdw_handler
AS '?????' LANGUAGE C STRICT;
-- surely this thing is already written somewhere?
CREATE FUNCTION pgsql_fdw_validator(text[], oid)
RETURNS void
AS '????' LANGUAGE C STRICT;
CREATE FOREIGN DATA WRAPPER pgsql
HANDLER pgsql_fdw_handler
VALIDATOR pgsql_fdw_validator;
CREATE SERVER products_remote FOREIGN DATA WRAPPER pgsql OPTIONS
(host 'localhost', dbname 'product_db', port '1234');
CREATE USER MAPPING FOR CURRENT_USER
SERVER products_remote;
CREATE FOREIGN TABLE products (
name text,
id integer
) SERVER products_remote;
select * from products;
ハンドラー関数とバリデーター関数をどうすればよいかわかりません。それらはどこかに存在しますか? 自分で書く必要がありますか?(それはどのように見えるでしょうか?)そして、全体的なアプローチの検証をいただければ幸いです。
このcontrib モジュールを見つけましたが、明らかに不完全です。