Du meinst sicher FDW, nicht FWD?
In der Quelldatenbank:
Ich erstelle eine Tabelle mit 4 Spalten und einen VIEW, der nur 2 dieser Spalten hat. Ungefähr das, was Du also auch hast.
Dieser View soll dann als externe Tabelle dienen.
fdw_demo_source=# create table schweizerili(id serial primary key, col1 int, col2 int, col3 int, col4 int);
CREATE TABLE
fdw_demo_source=*# create view view_schweizerili as select id, col1, col4 from schweizerili;
CREATE VIEW
fdw_demo_source=*# commit;
COMMIT
In der Zieldatenbank:
Ich erstelle einen entfernten Server, eine entfernte Tabelle (die auf den oben erstellen View zeigt) und ein User-Mapping.
fdw_demo_destination=# create server server_schweizerili foreign data wrapper postgres_fdw options(host '127.0.0.1', port '5432', dbname 'fdw_demo_source');
CREATE SERVER
fdw_demo_destination=*# create foreign table kopie_schweizerili (id int, col1 int, col4 int) server server_schweizerili options(table_name 'view_schweizerili');
CREATE FOREIGN TABLE
fdw_demo_destination=*# create user mapping for akretschmer server server_schweizerili options (user 'akretschmer', password 'akretschmer');
CREATE USER MAPPING
That’s all. Du kannst nun in Deiner Quelltabelle “schweizerili” Daten eingeben, im View “view_schweizerili” siehst Du nur das, was exportiert werden soll, und in der anderen Datenbank, Tabelle “kopie_schweizerili” 1:1 das, was im View steht, und damit auch aktuell den Inhalt der Quelltabelle, begrenzt auf das, was Du sehen willst.
Das geht so nun auch über wirklich Remote Server, Du kannst das aber auch auf einem lokalen Server mit 2 DB’s so machen (mache ich ja auch)
Andere Lösungen wären triggerbasierte Replikationen wie Slony oder Londiste oder ab PostgreSQL 9.4 logical Streaming Replication. (etwas, was Kollegen aus meiner Firma entwickelt haben)
Du vermischt einige Begriffe, daher ist nicht ganz klar, was Du genacht hast/willst. Ein Schema ist was anderes als eine Datenbank. Ein TRIGGER und ein VIEW kann schemaübergreifend arbeiten, nicht aber Datenbank- oder gar Serverübergreifend. Wenn Du innerhalb einer DB bist und ‘nur’ schemaübergreifend arbeiten willst wäre das allereinfachste für Dich ein VIEW.