Re: WG: Extension using the current connection handle

From: "Brandl, Wolfgang" <wolfgang(dot)brandl(at)brz(dot)gv(dot)at>
To: Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>, "pgsql-admin(at)postgresql(dot)org" <pgsql-admin(at)postgresql(dot)org>
Subject: Re: WG: Extension using the current connection handle
Date: 2017-12-19 12:07:57
Message-ID: F2EB158D72DC6A4F97877DD0BB6F020E6138D643@CMD0MBX-AB01.cmd0.cna.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Hello
Thanks for the Tipp with the SPI.
We are not using oracle_fdw, becaue we got somehow problems with the connection. Therefore some of the transactions get lost and all following didn't get a connection.
We did not analyse this.

Regards Wolfgang

-----Ursprüngliche Nachricht-----
Von: Laurenz Albe [mailto:laurenz(dot)albe(at)cybertec(dot)at]
Gesendet: Mittwoch, 13. Dezember 2017 15:47
An: Brandl, Wolfgang; pgsql-admin(at)postgresql(dot)org
Betreff: Re: WG: Extension using the current connection handle

Wolfgang Brandl wrote:
> I have written a extension in postgres to call a Oracle Stored procedure.
> We have a Postgres table holding the usernames and password related to the Oracle SID.
>
> In my extension I wanted to select the username and password out of this table.
> Do I have to make a new Postgres connection or can I somehow use the current connection handel from the session Where the extension will be called?

You would use the SPI interface to query database tables from a C function:
https://www.postgresql.org/docs/current/static/spi.html

If you don't feel like reinventing the wheel, there are tricks how to do that with oracle_fdw. You could create an Oracle table with a BEFORE INSERT trigger that executes the procedure.

See https://stackoverflow.com/a/46360383/6464308

Yours,
Laurenz Albe

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Devrim Gündüz 2017-12-19 12:09:17 Re: Couldn't create plperl language
Previous Message Om Prakash Jaiswal 2017-12-19 10:25:35 Couldn't create plperl language