Wrappery

CREATE EXTENSION IF NOT EXISTS dblink;
CREATE EXTENSION IF NOT EXISTS postgres_fdw;
GRANT USAGE ON FOREIGN DATA WRAPPER postgres_fdw TO edokumenty;

SET ROLE edokumenty;

-- IMPORTANT!!!
-- everything else must be run by user edokumenty (database owner)

BEGIN;

DROP SERVER IF EXISTS master_server CASCADE;

CREATE SERVER master_server
FOREIGN DATA WRAPPER postgres_fdw
OPTIONS (host '127.0.0.1', port '5432', dbname 'edokumenty', updatable 'false');

DROP USER MAPPING IF EXISTS FOR http SERVER master_server;

CREATE USER MAPPING FOR http
SERVER master_server
OPTIONS (user 'http', password 'pa$$12345');

DROP USER MAPPING IF EXISTS FOR edokumenty SERVER master_server;

CREATE USER MAPPING FOR edokumenty
SERVER master_server
OPTIONS (user 'http', password 'pa$$12345');

Następnie w drugiej bazie testowo importujemy tabelę "groups" z obcej bazy do schemy cregisters:

IMPORT FOREIGN SCHEMA public LIMIT TO ('groups') FROM SERVER master_server INTO public);

W efekcie w schemie public w bazie template (lub dowolnej innej w której wykonamy polecenie) powiniśmy widziec tabelę groups pochodzącą z obcej bazy "edokumenty".