Re: [ADMIN] error installing oracle_fdw extension - Mailing list pgsql-admin

From Cachique
Subject Re: [ADMIN] error installing oracle_fdw extension
Date
Msg-id CAEfeRhV1906amw-yuDcC-eZRkhzg93OsXY+Eqv5zT-FFopRR7A@mail.gmail.com
Whole thread Raw
In response to Re: [ADMIN] error installing oracle_fdw extension  (Albe Laurenz <laurenz.albe@wien.gv.at>)
Responses Re: [ADMIN] error installing oracle_fdw extension  (Sumeet Shukla <sumeet.k.shukla@gmail.com>)
List pgsql-admin
Hi.
I had this problem a while ago.
It has to do with the way systemd handles environment variables. Apparently systemd isn't aware of exports of variables. It uses a special section in a special file.
Using this post ( https://serverfault.com/questions/413397/how-to-set-environment-variable-in-systemd-service ) I managed to create the extension.

Steps to follow...
* You need to create a directory inside /etc/systemd/system/
  and name it the same as your service with suffix .d -> postgresql-9.5.service.d
* Put inside a file (name is not important) with extension .conf -> orafwd.conf
* In that file specify a section [Service] with your Oracle environment variables.
  Something like this...
[Service]
Environment=ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
Environment=TNS_ADMIN=/u01/app/oracle/product/11.2.0/xe/network/admin
* Article says you can use systemctl edit yourservice but I didn't tried that. Just created the directory and file by myself.
* Names and paths may vary according to your distribution and likes.

Resuming
You have this file...
/etc/systemd/system/postgresql-9.5.service.d/orafdw.conf
With content...
[Service]
Environment=ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
Environment=TNS_ADMIN=/u01/app/oracle/product/11.2.0/xe/network/admin


Check.
When you run systemctl status postgres you see the config file included

[root@localhost ~]# systemctl status postgresql-9.5.service
● postgresql-9.5.service - PostgreSQL 9.5 database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql-9.5.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/postgresql-9.5.service.d
           └─orafdw.conf
   Active: active (running) since Wed 2017-05-17 12:11:49 PYT; 4 days ago






Regards,
Walter






On Mon, May 22, 2017 at 9:12 AM, Albe Laurenz <laurenz.albe@wien.gv.at> wrote:
Sumeet Shukla wrote:
> Yes, postmaster does not seem to be aware of  LD_LIBRARY_PATH. I tried ldconfig and
> postgres service restart but it does not seem to work. How can I fix this.

You first have to add a line to /etc/ld.so.conf that reads
/usr/lib/oracle/12.1/client64/lib

Then run "ldconfig".

> Also the owner of  /usr/lib/oracle/12.1/client64/lib/libclntsh.so.12.1 is root. Please
> confirm if it is OK.

Yes, as long as the PostgreSQL user has permission to read the file.

Yours,
Laurenz Albe

--
Sent via pgsql-admin mailing list (pgsql-admin@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin

pgsql-admin by date:

Previous
From: Albe Laurenz
Date:
Subject: Re: [ADMIN] error installing oracle_fdw extension
Next
From: Sumeet Shukla
Date:
Subject: Re: [ADMIN] error installing oracle_fdw extension