I built it with docker build and ran it in Docker Desktop.
create extension duckdb_fdw;
CREATE SERVER duckdb_server
FOREIGN DATA WRAPPER duckdb_fdw
OPTIONS (database '/tmp/duck.db');
SELECT duckdb_execute('duckdb_server','CREATE TABLE t1_duckdb (a integer, b text);');
CREATE FOREIGN TABLE t1 (
a integer,
b text
)
SERVER duckdb_server
OPTIONS (
table 't1_duckdb'
);
select * from t1;
insert into t1 values (1,'a');
select * from t1;
SELECT duckdb_execute('duckdb_server','CREATE TABLE info_ddb as select version() as version;');
CREATE FOREIGN TABLE info_ddb (
version text
)
SERVER duckdb_server
OPTIONS (
table 'info_ddb'
);
select version as duckdb_version, duckdb_fdw_version() as duckdb_fdw_version, version() as postgrsql_version from info_ddb;
duckdb_version:
v1.0.0
duckdb_fdw_version:
20101
postgrsql_version:
PostgreSQL 16.3 (Debian 16.3-1.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
I built it with docker build and ran it in Docker Desktop.