CREATE SERVER oai_server_dnb FOREIGN DATA WRAPPER oai_fdw OPTIONS (url 'https://services.dnb.de/oai/repository'); CREATE FOREIGN TABLE dnb_zdb_oai_dc ( id text OPTIONS (oai_node 'identifier'), content text OPTIONS (oai_node 'content'), setspec text[] OPTIONS (oai_node 'setspec'), datestamp timestamp OPTIONS (oai_node 'datestamp'), meta text OPTIONS (oai_node 'metadataprefix') ) SERVER oai_server_dnb OPTIONS (setspec 'zdb', metadataprefix 'oai_dc', from '2022-01-31', until '2022-02-01'); EXPLAIN SELECT * FROM dnb_zdb_oai_dc; QUERY PLAN ------------------------------------------------------------------------------- Foreign Scan on dnb_zdb_oai_dc (cost=10000.00..20000.00 rows=1000 width=136) Foreign Server URL: https://services.dnb.de/oai/repository requestVerb: ListRecords setSpec: zdb metadataPrefix: oai_dc from: 2022-01-31 until: 2022-02-01 (7 rows) EXPLAIN SELECT * FROM dnb_zdb_oai_dc WHERE meta = 'MARC21-xml' AND datestamp BETWEEN '2022-03-01' AND '2022-03-02' AND setspec <@ ARRAY['dnb:reiheC']; QUERY PLAN --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Foreign Scan on dnb_zdb_oai_dc (cost=10000.00..20000.00 rows=1000 width=136) Filter: ((datestamp >= 'Tue Mar 01 00:00:00 2022'::timestamp without time zone) AND (datestamp <= 'Wed Mar 02 00:00:00 2022'::timestamp without time zone) AND (setspec <@ '{dnb:reiheC}'::text[]) AND (meta = 'MARC21-xml'::text)) Foreign Server URL: https://services.dnb.de/oai/repository requestVerb: ListRecords setSpec: dnb:reiheC metadataPrefix: MARC21-xml from: 2022-03-01T00:00:00Z until: 2022-03-02T00:00:00Z (8 rows) DROP SERVER oai_server_dnb CASCADE; NOTICE: drop cascades to foreign table dnb_zdb_oai_dc