Lists: | pgsql-general |
---|
From: | Rafael Ostertag <raos(at)opencsw(dot)org> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Installing different PostgreSQL versions in parallel |
Date: | 2011-12-05 18:43:07 |
Message-ID: | 20111205184307.GE18805@bender.opencsw.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-general |
Hi list
I'm in the course of creating PostgreSQL packages for Solaris. One of the
requirement is to install different PostgreSQL versions in parallel, the other
is to have all the libraries stuffed in one place.
Now, if I install, let's say, pgsql 8.3 and 8.4 in parallel and all libraries
go to /opt/csw/lib, I end up with:
$ ls -l /opt/csw/lib/libpq*
lrwxrwxrwx 1 root root libpq.so -> libpq.so.5.2
lrwxrwxrwx 1 root root libpq.so.5 -> libpq.so.5.2
-rwxr-xr-x 1 root bin libpq.so.5.1
-rwxr-xr-x 1 root bin libpq.so.5.2
Which in turn leads to 8.3 binaries loading libpq.so.5.2, effectively mixing
8.3 binaries with 8.4 libraries.
Finally, the question: How bad is it having a pgsql binary version X.Y using a
library X.Z?
Thanks for your help.
Cheers
Rafael
From: | raghu ram <raghuchennuru(at)gmail(dot)com> |
---|---|
To: | Rafael Ostertag <raos(at)opencsw(dot)org> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Installing different PostgreSQL versions in parallel |
Date: | 2011-12-07 04:30:39 |
Message-ID: | CALnrrJRbRxCZYOJS5j0vWKEQkqE96gDtGQqGpT1N-AMK12aaFQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-general |
On Tue, Dec 6, 2011 at 12:13 AM, Rafael Ostertag <raos(at)opencsw(dot)org> wrote:
> Hi list
>
> I'm in the course of creating PostgreSQL packages for Solaris. One of the
> requirement is to install different PostgreSQL versions in parallel, the
> other
> is to have all the libraries stuffed in one place.
>
> Now, if I install, let's say, pgsql 8.3 and 8.4 in parallel and all
> libraries
> go to /opt/csw/lib, I end up with:
>
> $ ls -l /opt/csw/lib/libpq*
> lrwxrwxrwx 1 root root libpq.so -> libpq.so.5.2
> lrwxrwxrwx 1 root root libpq.so.5 -> libpq.so.5.2
> -rwxr-xr-x 1 root bin libpq.so.5.1
> -rwxr-xr-x 1 root bin libpq.so.5.2
>
> Which in turn leads to 8.3 binaries loading libpq.so.5.2, effectively
> mixing
> 8.3 binaries with 8.4 libraries.
>
> Finally, the question: How bad is it having a pgsql binary version X.Y
> using a
> library X.Z?
>
>
To overcome this issues,use "--prefix=PREFIX " option while running
"configure",so that PostgreSQL 8.3 version related directories [i.e
bin,include,lib,share] will store in preferred PREFIX location.
Ex: ./configure --prefix=/usr/local/pgsql83
./configure --prefix=/usr/local/pgsql84
Once completion of PostgreSQL installation,you will see
"bin,include,lib,share" directories are created under the
/usr/local/pgsql83 location.
--Raghu Ram
From: | John R Pierce <pierce(at)hogranch(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Installing different PostgreSQL versions in parallel |
Date: | 2011-12-07 04:35:58 |
Message-ID: | 4EDEED2E.7050405@hogranch.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-general |
On 12/06/11 8:30 PM, raghu ram wrote:
>
> I'm in the course of creating PostgreSQL packages for Solaris. One
> of the
> requirement is to install different PostgreSQL versions in
> parallel, the other
> is to have all the libraries stuffed in one place.
>
> Now, if I install, let's say, pgsql 8.3 and 8.4 in parallel and
> all libraries
> go to /opt/csw/lib, I end up with:
>
> $ ls -l /opt/csw/lib/libpq*
> lrwxrwxrwx 1 root root libpq.so -> libpq.so.5.2
> lrwxrwxrwx 1 root root libpq.so.5 -> libpq.so.5.2
> -rwxr-xr-x 1 root bin libpq.so.5.1
> -rwxr-xr-x 1 root bin libpq.so.5.2
>
> Which in turn leads to 8.3 binaries loading libpq.so.5.2,
> effectively mixing
> 8.3 binaries with 8.4 libraries.
>
> Finally, the question: How bad is it having a pgsql binary version
> X.Y using a
> library X.Z?
>
>
> To overcome this issues,use "--prefix=PREFIX " option while running
> "configure",so that PostgreSQL 8.3 version related directories [i.e
> bin,include,lib,share] will store in preferred PREFIX location.
>
> Ex: ./configure --prefix=/usr/local/pgsql83
> ./configure --prefix=/usr/local/pgsql84
>
> Once completion of PostgreSQL installation,you will see
> "bin,include,lib,share" directories are created under the
> /usr/local/pgsql83 location.
>
its apparent to me from the /opt/csw prefix he mentions that he's
building PostgreSQL for the Blastwave/OpenCSW Solaris software
repositories, and HAS to put the libs in /opt/csw/lib due to project
policies.
--
john r pierce N 37, W 122
santa cruz ca mid-left coast
From: | Rafael Ostertag <raos(at)opencsw(dot)org> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Installing different PostgreSQL versions in parallel |
Date: | 2011-12-07 06:37:26 |
Message-ID: | 20111207063726.GI18805@bender.opencsw.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-general |
Hi John
On Tue, Dec 06, 2011 at 08:35:58PM -0800, John R Pierce wrote:
> On 12/06/11 8:30 PM, raghu ram wrote:
> >
> > I'm in the course of creating PostgreSQL packages for Solaris. One
> > of the
> > requirement is to install different PostgreSQL versions in
> > parallel, the other
> > is to have all the libraries stuffed in one place.
> >
> > Now, if I install, let's say, pgsql 8.3 and 8.4 in parallel and
> > all libraries
> > go to /opt/csw/lib, I end up with:
> >
> > $ ls -l /opt/csw/lib/libpq*
> > lrwxrwxrwx 1 root root libpq.so -> libpq.so.5.2
> > lrwxrwxrwx 1 root root libpq.so.5 -> libpq.so.5.2
> > -rwxr-xr-x 1 root bin libpq.so.5.1
> > -rwxr-xr-x 1 root bin libpq.so.5.2
> >
> > Which in turn leads to 8.3 binaries loading libpq.so.5.2,
> > effectively mixing
> > 8.3 binaries with 8.4 libraries.
> >
> > Finally, the question: How bad is it having a pgsql binary version
> > X.Y using a
> > library X.Z?
> >
> >
> >To overcome this issues,use "--prefix=PREFIX " option while
> >running "configure",so that PostgreSQL 8.3 version related
> >directories [i.e bin,include,lib,share] will store in preferred
> >PREFIX location.
> >
> >Ex: ./configure --prefix=/usr/local/pgsql83
> > ./configure --prefix=/usr/local/pgsql84
> >
> >Once completion of PostgreSQL installation,you will see
> >"bin,include,lib,share" directories are created under the
> >/usr/local/pgsql83 location.
> >
>
> its apparent to me from the /opt/csw prefix he mentions that he's
> building PostgreSQL for the Blastwave/OpenCSW Solaris software
> repositories, and HAS to put the libs in /opt/csw/lib due to project
> policies.
>
Exactly. Thanks for clarification on this.
--Rafael
From: | John R Pierce <pierce(at)hogranch(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Installing different PostgreSQL versions in parallel |
Date: | 2011-12-07 06:55:40 |
Message-ID: | 4EDF0DEC.9020207@hogranch.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-general |
On 12/06/11 10:37 PM, Rafael Ostertag wrote:
>> >
>> > its apparent to me from the /opt/csw prefix he mentions that he's
>> > building PostgreSQL for the Blastwave/OpenCSW Solaris software
>> > repositories, and HAS to put the libs in /opt/csw/lib due to project
>> > policies.
>> >
> Exactly. Thanks for clarification on this.
afraid I don't have much int he way of suggestions for you to achieve
that goal. I install my Solaris postgres builds into
/opt/(mygroup)/pgsqlXX/
and their lib and bins and everything are in that path, then when I
launch them, I expressly put the data somewhere like /u02/pgsqlXX/data
--
john r pierce N 37, W 122
santa cruz ca mid-left coast
From: | Rafael Ostertag <raos(at)opencsw(dot)org> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Installing different PostgreSQL versions in parallel |
Date: | 2011-12-07 08:48:05 |
Message-ID: | 20111207084805.GJ18805@bender.opencsw.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-general |
Hi John
On Tue, Dec 06, 2011 at 10:55:40PM -0800, John R Pierce wrote:
> afraid I don't have much int he way of suggestions for you to
> achieve that goal. I install my Solaris postgres builds into
>
> /opt/(mygroup)/pgsqlXX/
>
> and their lib and bins and everything are in that path, then when I
> launch them, I expressly put the data somewhere like
> /u02/pgsqlXX/data
Thanks a lot for your time and effort.
One solution for my problem would be adjusting the SONAME of the libraries. At
least for 8.X libraries, it is set to 'lib<name>.so.M'. I could adjust the
SONAME to include the minor version as well, like 'lib<name>.so.M.N', which
would allow me to have libraries of different pgsql versions in /opt/csw/lib
and make sure the binaries load the libraries matching their version.
However, there is a concern in the OpenCSW community against this approach.
Therefore, I would like to know what pgsql thinks about mixing binaries and
libraries of different pgsql versions. Maybe a developer could shed some light
on this issue?
Regards
Rafael