From: | Cachique <cachique(at)gmail(dot)com> |
---|---|
To: | Albe Laurenz <laurenz(dot)albe(at)wien(dot)gv(dot)at> |
Cc: | "Sumeet Shukla *EXTERN*" <sumeet(dot)k(dot)shukla(at)gmail(dot)com>, Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-admin <pgsql-admin(at)postgresql(dot)org>, Julien Rouhaud <julien(dot)rouhaud(at)dalibo(dot)com> |
Subject: | Re: error installing oracle_fdw extension |
Date: | 2017-05-22 14:53:10 |
Message-ID: | CAEfeRhV1906amw-yuDcC-eZRkhzg93OsXY+Eqv5zT-FFopRR7A@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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(at)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(dot)albe(at)wien(dot)gv(dot)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(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-admin
>
From | Date | Subject | |
---|---|---|---|
Next Message | Sumeet Shukla | 2017-05-23 07:53:45 | Re: error installing oracle_fdw extension |
Previous Message | Albe Laurenz | 2017-05-22 13:12:45 | Re: error installing oracle_fdw extension |