Hello Adrian I built fdw with debug option and ran it with debug option. Here is the output
postgres=# select * from odbc_testt; DEBUG: StartTransactionCommand DEBUG: StartTransaction DEBUG: name: unnamed; blockState: DEFAULT; state: INPROGR, xid/subid/cid: 0/1/0, nestlvl: 1, children: DEBUG: odbcGetForeignRelSize DEBUG: odbcGetTableOptions DEBUG: odbcGetOptions DEBUG: extract_odbcFdwOptions DEBUG: CONN STR: database=SAMPLE;DRIVER=SAMPLE;UID=db2inst1;PWD=db2inst1 DEBUG: Error result (-1): Connecting to driver ERROR: Connecting to driver Looking at the code this is the place where the error is coming from: /* Allocate a connection handle */ SQLAllocHandle(SQL_HANDLE_DBC, *env, dbc); /* Connect to the DSN */ ret = SQLDriverConnect(*dbc, NULL, (SQLCHAR *) conn_str.data, SQL_NTS, OutConnStr, 1024, &OutConnStrLen, SQL_DRIVER_COMPLETE); check_return(ret, "Connecting to driver", dbc, SQL_HANDLE_DBC); } Trouble is, I can't get any unixodbc manual to indicate the meaning of -1.