Subject: Relocatable Binaries (RPMs) : custom installation path for PostgreSQL

From: chiru r <[email-masked]>
Date: Mon, 31 Dec 2018 11:19:50 -0500

Hi All,

I wanted to install the PostgreSQL-11 Software with Custom
installation/binary paths.

Currently I am using EDB one click installer software with option file like
below to achieve, However EDB stopped and no longer provides one click
installer for Linux.

*Example:*

PostgreSQL install software file : *postgresql-9.6.9-1-linux-x64.run*

 *cat Optionsfile.txt*

mode=unattended

datadir=/u02/pgdata01/9.6/data

serverport=5432

prefix=/u01/postgres/9.6

I have installed Community  PostgreSQL RPMs and are going into "
/usr/pgsql-11/"
by default.

#-> pwd

/usr/pgsql-11

[root@user:/usr/pgsql-11]#

#-> ls -l

total 16

drwxr-xr-x 2 root root 4096 Dec 21 13:49 bin

drwxr-xr-x 3 root root 4096 Dec 21 13:49 doc

drwxr-xr-x 3 root root 4096 Dec 21 13:49 lib

drwxr-xr-x 8 root root 4096 Dec 21 13:49 share

Please let us know how to get the PostgreSQL-11 installed in above custom
paths using RPMs? .

Thanks,

Chiranjeevi

---

From: Adrian Klaver <[email-masked]>
Date: Tue, 1 Jan 2019 10:40:29 -0800

On 12/31/18 8:19 AM, chiru r wrote:
> Currently I am using EDB one click installer software with option file 
> like below to achieve, However EDB stopped and no longer provides one 
> click installer for Linux.
> 
> *Example:*
> 
> I have installed CommunityPostgreSQL RPMs and are going into 
> "/usr/pgsql-11/" by default.
> 
> 
> #-> pwd
> 
> /usr/pgsql-11
> 
> Please let us know how to get the PostgreSQL-11 installed in above 
> custom paths using RPMs? .

I would try contacting the packagers via:

https://yum.postgresql.org/contact.php

-- 
Adrian Klaver
[email-masked]

---

From: Brent Wood <[email-masked]>
Date: Tue, 1 Jan 2019 20:53:45 +0000 (UTC)

Have you considered symlinking the default paths to where you want it to reside?
That approach would allow updates & upgrades to work as they expect, without changing default paths or config files.
Much as described here:https://help.cloud66.com/rails/how-to-guides/databases/shells/change-psql-directory.html

Cheers,
  Brent Wood

> Chiranjeevi>

---

From: chiru r <[email-masked]>
Date: Tue, 1 Jan 2019 19:18:17 -0500

Yes, at this moment we are not considering symlinks.

We would like to have the options in RPMs itself.

On Tue, Jan 1, 2019 at 3:53 PM Brent Wood <[email-masked]> wrote:

> That approach would allow updates & upgrades to work as they expect,
> without changing default paths or config files.
>
> Much as described here:
>
> https://help.cloud66.com/rails/how-to-guides/databases/shells/change-psql-directory.html
>
>
>
> Cheers,
>
>   Brent Wood
>
> ------------------------------
>

---

From: Rob Sargent <[email-masked]>
Date: Tue, 1 Jan 2019 18:21:25 -0700

Do Options and One-Click seem oxymoronic to anyone else?

> On Jan 1, 2019, at 5:18 PM, chiru r <[email-masked]> wrote:
>

---

From: Kevin Brannen <[email-masked]>
Date: Wed, 2 Jan 2019 18:25:26 +0000

From: chiru r <[email-masked]>

> I have installed Community  PostgreSQL RPMs and are going into " /usr/pgsql-11/" by default.
> Please let us know how to get the PostgreSQL-11 installed in above custom paths using RPMs? .

I've never tried it, but look at the "--relocate" option for the rpm command. The "--prefix" option might do it too, but I think "--relocate" is what you need.

HTH,
Kevin

This e-mail transmission, and any documents, files or previous e-mail messages attached to it, may contain confidential information. If you are not the intended recipient, or a person responsible for delivering it to the intended recipient, you are hereby notified that any disclosure, distribution, review, copy or use of any of the information contained in or attached to this message is STRICTLY PROHIBITED. If you have received this transmission in error, please immediately notify us by reply e-mail, and destroy the original transmission and its attachments without reading them or saving them to disk. Thank you.

---

From: chiru r <[email-masked]>
Date: Thu, 3 Jan 2019 12:23:56 -0500

Hi Kevin,

Thank you for the responce.

I have tried to intall the RPMs with -relocate option,however it is not
working as expected and throwing below error.

[root@Server1dev:/root/PG11]#
#-> rpm -ivh --relocate /usr/pgsql-11/=/u01/postgres/pg11_relocate/
postgresql11-server-11.1-1PGDG.rhel7.x86_64.rpm
warning: postgresql11-server-11.1-1PGDG.rhel7.x86_64.rpm: Header V4
DSA/SHA1 Signature, key ID 442df0f8: NOKEY
Preparing...                          #################################
[100%]
        path /usr/pgsql-11 in package
postgresql11-server-11.1-1PGDG.rhel7.x86_*64 is not relocatable*
[root@server1dev:/root/PG11]#

Thanks,
Chiranjeevi

On Wed, Jan 2, 2019 at 1:25 PM Kevin Brannen <[email-masked]> wrote:

> /usr/pgsql-11/" by default.
> I've never tried it, but look at the "--relocate" option for the rpm
> command. The "--prefix" option might do it too, but I think "--relocate" is
> what you need.
>
> HTH,
> Kevin
>
>
> This e-mail transmission, and any documents, files or previous e-mail
> messages attached to it, may contain confidential information. If you are
> not the intended recipient, or a person responsible for delivering it to
> the intended recipient, you are hereby notified that any disclosure,
> distribution, review, copy or use of any of the information contained in or
> attached to this message is STRICTLY PROHIBITED. If you have received this
> transmission in error, please immediately notify us by reply e-mail, and
> destroy the original transmission and its attachments without reading them
> or saving them to disk. Thank you.
>

---

From: Kevin Brannen <[email-masked]>
Date: Fri, 4 Jan 2019 15:08:14 +0000

> I have tried to intall the RPMs with -relocate option,however it is not working as expected and throwing below error.
>
> #-> rpm -ivh --relocate /usr/pgsql-11/=/u01/postgres/pg11_relocate/ postgresql11-server-11.1-1PGDG.rhel7.x86_64.rpm
> warning: postgresql11-server-11.1-1PGDG.rhel7.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 442df0f8: NOKEY
> Preparing...                          ################################# [100%]
>        path /usr/pgsql-11 in package postgresql11-server-11.1-1PGDG.rhel7.x86_64 is not relocatable

Then you'll probably have to get the source from the Pg download area and compile it yourself and use "--prefix=/u01/postgres/pg11_relocate/" as an arg to the "configure" command. It's not hard, the process is well documented. We do this and 1 reason is to have it install into /opt, although we also compile it ourselves so we know what's going into the install.

It's either that or let it install where it wants to and then put a symlink in the place you want it, as someone else suggested.

HTH,
Kevin