Thread: Foreign Data Wrapper from Oracle to Postgres 16

Foreign Data Wrapper from Oracle to Postgres 16

From
Santhosh S
Date:
Hi team,

I am working on a project along with my peers on developing an Foreign Data Wrapper to transfer data from Oracle to Postgres 16. We followed the below steps in order:

1. Developed the Foreign Data Wrapper (64-bit) using Microsoft Visual Studio to transfer from Oracle to Postgres 16
2. Installed Oracle Instant Client 64-bit versionand InstantClient Path has been set in the environment variables
3. Have Postgres 16 64-bit version installed
4. Placed all the files from each folder of the downloaded ORACLE_FDW package should be copied into the respective folders of PostgreSQL Installation directory
5. “oci.dll” from the Oracle Instant Client Installation directory to PostgreSQL Installation directory
6. Visual C++ redistributable is installed

After the above steps when we try to execute the below statement in Postgres 16

CREATE EXTENSION IF NOT EXISTS oracle_fdw
SCHEMA public
VERSION "1.2"

we get the error "SQL Error [58P01]: ERROR: could not load library "C:/Program Files/PostgreSQL/16/lib/oracle_fdw.dll": The specified module could not be found.
Error position" 

But we are able to execute the above command successfully in Postgres 13 and successfully transfer data from Oracle to Postgres 13.

Any help or direction would be greatly helpful.

Regards
Santhosh S

Re: Foreign Data Wrapper from Oracle to Postgres 16

From
Laurenz Albe
Date:
On Wed, 2025-07-02 at 23:58 +0530, Santhosh S wrote:
> I am working on a project along with my peers on developing an Foreign Data Wrapper
> to transfer data from Oracle to Postgres 16. We followed the below steps in order:
>
> 1. Developed the Foreign Data Wrapper (64-bit) using Microsoft Visual Studio to transfer from Oracle to Postgres 16
> 2. Installed Oracle Instant Client 64-bit versionand InstantClient Path has been set in the environment variables
> 3. Have Postgres 16 64-bit version installed
> 4. Placed all the files from each folder of the downloaded ORACLE_FDW package should
>    be copied into the respective folders of PostgreSQL Installation directory
> 5. “oci.dll” from the Oracle Instant Client Installation directory to PostgreSQL Installation directory
> 6. Visual C++ redistributable is installed
>
> After the above steps when we try to execute the below statement in Postgres 16
>
> CREATE EXTENSION IF NOT EXISTS oracle_fdw
> SCHEMA public
> VERSION "1.2"
>
> we get the error "SQL Error [58P01]: ERROR: could not load library "C:/Program
Files/PostgreSQL/16/lib/oracle_fdw.dll":The specified module could not be found. 
> Error position" 
>
> But we are able to execute the above command successfully in Postgres 13 and successfully transfer data from Oracle
toPostgres 13. 
>
> Any help or direction would be greatly helpful.

This is better tracked here: https://github.com/laurenz/oracle_fdw/issues/754

By the way, I took a double take when I read your report.
For me "developing" a FDW means writing the code, whereas you are clearly
talking about what I would call "building", "compiling" or "instaling"
the FDW.  No problem, I just want to avoid confusion.

Yours,
Laurenz Albe



Re: Foreign Data Wrapper from Oracle to Postgres 16

From
Laurenz Albe
Date:
On Wed, 2025-07-02 at 23:58 +0530, Santhosh S wrote:
> I am working on a project along with my peers on developing an Foreign Data Wrapper
> to transfer data from Oracle to Postgres 16. We followed the below steps in order:
>
> 1. Developed the Foreign Data Wrapper (64-bit) using Microsoft Visual Studio to transfer from Oracle to Postgres 16
> 2. Installed Oracle Instant Client 64-bit versionand InstantClient Path has been set in the environment variables
> 3. Have Postgres 16 64-bit version installed
> 4. Placed all the files from each folder of the downloaded ORACLE_FDW package should
>    be copied into the respective folders of PostgreSQL Installation directory
> 5. “oci.dll” from the Oracle Instant Client Installation directory to PostgreSQL Installation directory
> 6. Visual C++ redistributable is installed
>
> After the above steps when we try to execute the below statement in Postgres 16
>
> CREATE EXTENSION IF NOT EXISTS oracle_fdw
> SCHEMA public
> VERSION "1.2"
>
> we get the error "SQL Error [58P01]: ERROR: could not load library "C:/Program
Files/PostgreSQL/16/lib/oracle_fdw.dll":The specified module could not be found. 
> Error position" 
>
> But we are able to execute the above command successfully in Postgres 13 and successfully transfer data from Oracle
toPostgres 13. 
>
> Any help or direction would be greatly helpful.

This is better tracked here: https://github.com/laurenz/oracle_fdw/issues/754

By the way, I took a double take when I read your report.
For me "developing" a FDW means writing the code, whereas you are clearly
talking about what I would call "building", "compiling" or "instaling"
the FDW.  No problem, I just want to avoid confusion.

Yours,
Laurenz Albe