Maintaining Postgres copies of fdw tables from Oracle
I have a production Oracle 11g server, from which I want to copy data regularly to PostgreSQL 10.14 database for DWH uses ...

Why move the data from Oracle to Postgres at all?
Why not use a Data Guard based solution to populate your Data Warehouse?
Three possibilities:
Logical Standby:
Data Guard applies SQL on the Standby (instead of the more efficient, Redo vectors).
Logical Standbys can be used to load-balance near real-time, read-only activity away from the Primary.
The Logical Standby database can be structurally different (i.e. different indexes, etc.) from the Primary ...   and therein lies your problem if the vendor goes and changes stuff - this will not get carried through into the Logical Standby automatically.  You would have to find out the changes and re-make them in the Standby.
Alternatively, you could rebuild the Logical Standby database after each Product release or build a new Logical Standby, route Users to that one and throw the old one away).
Active Data Guard:
This is a &quot;cost option&quot;, but it might be your simplest solution.
Using Active Data Guard, your Physical Standby database becomes readable and is [very] near real-time up-to-date with the Primary.
The Standby database is structurally identical to the Primary.
Snapshot Standby:
Spends some of its life as an inaccessible, Physical Standby database (unless you pay for Active Data Guard), but when you want to use it, you &quot;unplug&quot; it from the Data Guard configuration and open it as a database in its own right, with Data as of when it was &quot;unplugged&quot;.  Each night, you &quot;plug&quot; it back into the Data Guard configuration and redo (held on the Standby's host) is re-applied, bringing the database back &quot;up-to-date&quot; with the Primary.
The Standby database is structurally identical to the Primary unless you choose to add extra indexes, etc., after the &quot;unplugging&quot; activity.

Reimport ... still breaks ... constructs like:
INSERT INTO my_pg_mirror_table_archive SELECT * FROM oracle_fdw_view;

And this is just one of the reasons why should you never use &quot;select *&quot; in Production Code.