Обсуждение: What library uses postmaster when lib postgres files are installed not on library path

Поиск
Список
Период
Сортировка

What library uses postmaster when lib postgres files are installed not on library path

От
Adam Radłowski
Дата:
I'm testing 8.1.3 and 8.1.6 of FC3 2.6.12 .
I have installed (compiled from source) two copies of PostgreSQL:
8.1.3 - typically in /usr/local/pgsql and I have configured path to
these libs (in ld.so.conf): /usr/local/pgsql/lib
8.1.6 - not typically in /usr/local/pgsql816 (I edited before installing
with "make install" src/Makefile.global and I changed "prefix" for
install after "configure" and "make")
I never use this two versions of postmaster parallel, so I use for them
this same database cluster.

What libraries uses postmaster 8.1.6 in this situation ? Their own libs
or taken from 8.1.3 ?

Best regards
Adam

Re: What library uses postmaster when lib postgres files

От
Jorge Serván
Дата:
The Libraries used are solved by the liker. Try ldd <exec file> to show
the paths of the library that <exec file> needs. You can say to the
linker where it can find your libraries (man ld).

Example 1: default paths from a default paths PostgreSQL installation.
$ ldd /usr/bin/psql
        libpq.so.3 => /usr/lib/libpq.so.3 (0x40029000)
        libpam.so.0 => /lib/libpam.so.0 (0x40044000)
        libssl.so.2 => /lib/libssl.so.2 (0x4004c000)
        libcrypto.so.2 => /lib/libcrypto.so.2 (0x40079000)
        libkrb5.so.3 => /usr/kerberos/lib/libkrb5.so.3 (0x4013c000)
        libcom_err.so.3 => /usr/kerberos/lib/libcom_err.so.3 (0x40194000)
        libz.so.1 => /usr/lib/libz.so.1 (0x40198000)
        libreadline.so.4 => /usr/lib/libreadline.so.4 (0x401a6000)
        libtermcap.so.2 => /lib/libtermcap.so.2 (0x401cc000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x401d0000)
        libresolv.so.2 => /lib/libresolv.so.2 (0x401fd000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x4020f000)
        libdl.so.2 => /lib/libdl.so.2 (0x40225000)
        libm.so.6 => /lib/i686/libm.so.6 (0x4022a000)
        libc.so.6 => /lib/i686/libc.so.6 (0x4024d000)
        libpthread.so.0 => /lib/i686/libpthread.so.0 (0x40388000)
        libk5crypto.so.3 => /usr/kerberos/lib/libk5crypto.so.3 (0x4039d000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

Example 2: modified paths from a not default paths PostgreSQL installation.
Sitefdevel:~$ ldd $HOME/opt/postgres-8.1.5/bin/psql
$ echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
LD_LIBRARY_PATH=/home/cvsitef/opt/postgres-8.1.5/lib
        libpq.so.4 => /home/cvsitef/opt/postgres-8.1.5/lib/libpq.so.4
(0x40018000)
        libz.so.1 => /usr/lib/libz.so.1 (0x40042000)
        libreadline.so.4 => /usr/lib/libreadline.so.4 (0x40050000)
        libtermcap.so.2 => /lib/libtermcap.so.2 (0x40076000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0x4007a000)
        libresolv.so.2 => /lib/libresolv.so.2 (0x400a7000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x400b9000)
        libdl.so.2 => /lib/libdl.so.2 (0x400d0000)
        libm.so.6 => /lib/i686/libm.so.6 (0x400d4000)
        libc.so.6 => /lib/i686/libc.so.6 (0x400f7000)
        libpthread.so.0 => /lib/i686/libpthread.so.0 (0x40232000)
        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

Best regards
Jorge Serván.

Adam Radłowski wrote:
> I'm testing 8.1.3 and 8.1.6 of FC3 2.6.12 .
> I have installed (compiled from source) two copies of PostgreSQL:
> 8.1.3 - typically in /usr/local/pgsql and I have configured path to
> these libs (in ld.so.conf): /usr/local/pgsql/lib
> 8.1.6 - not typically in /usr/local/pgsql816 (I edited before
> installing with "make install" src/Makefile.global and I changed
> "prefix" for install after "configure" and "make")
> I never use this two versions of postmaster parallel, so I use for
> them this same database cluster.
>
> What libraries uses postmaster 8.1.6 in this situation ? Their own
> libs or taken from 8.1.3 ?
>
> Best regards
> Adam
>
> ---------------------------(end of broadcast)---------------------------
> TIP 7: You can help support the PostgreSQL project by donating at
>
>                http://www.postgresql.org/about/donate
>
>

Re: What library uses postmaster when lib postgres files

От
Adam Radlowski
Дата:
I checked the libraries used by pg_ctl and postmaster. They use proper
libs without use LD_LIBRARY_PATH, but I used it "for safety" in the
postmaster starting script.
One more big thanks.
Adam

Jorge Serván wrote:

> The Libraries used are solved by the liker. Try ldd <exec file> to
> show the paths of the library that <exec file> needs. You can say to
> the linker where it can find your libraries (man ld).
>
> Example 1: default paths from a default paths PostgreSQL installation.
> $ ldd /usr/bin/psql
>        libpq.so.3 => /usr/lib/libpq.so.3 (0x40029000)
>        libpam.so.0 => /lib/libpam.so.0 (0x40044000)
>        libssl.so.2 => /lib/libssl.so.2 (0x4004c000)
>        libcrypto.so.2 => /lib/libcrypto.so.2 (0x40079000)
>        libkrb5.so.3 => /usr/kerberos/lib/libkrb5.so.3 (0x4013c000)
>        libcom_err.so.3 => /usr/kerberos/lib/libcom_err.so.3 (0x40194000)
>        libz.so.1 => /usr/lib/libz.so.1 (0x40198000)
>        libreadline.so.4 => /usr/lib/libreadline.so.4 (0x401a6000)
>        libtermcap.so.2 => /lib/libtermcap.so.2 (0x401cc000)
>        libcrypt.so.1 => /lib/libcrypt.so.1 (0x401d0000)
>        libresolv.so.2 => /lib/libresolv.so.2 (0x401fd000)
>        libnsl.so.1 => /lib/libnsl.so.1 (0x4020f000)
>        libdl.so.2 => /lib/libdl.so.2 (0x40225000)
>        libm.so.6 => /lib/i686/libm.so.6 (0x4022a000)
>        libc.so.6 => /lib/i686/libc.so.6 (0x4024d000)
>        libpthread.so.0 => /lib/i686/libpthread.so.0 (0x40388000)
>        libk5crypto.so.3 => /usr/kerberos/lib/libk5crypto.so.3
> (0x4039d000)
>        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
>
> Example 2: modified paths from a not default paths PostgreSQL
> installation.
> Sitefdevel:~$ ldd $HOME/opt/postgres-8.1.5/bin/psql
> $ echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
> LD_LIBRARY_PATH=/home/cvsitef/opt/postgres-8.1.5/lib
>        libpq.so.4 => /home/cvsitef/opt/postgres-8.1.5/lib/libpq.so.4
> (0x40018000)
>        libz.so.1 => /usr/lib/libz.so.1 (0x40042000)
>        libreadline.so.4 => /usr/lib/libreadline.so.4 (0x40050000)
>        libtermcap.so.2 => /lib/libtermcap.so.2 (0x40076000)
>        libcrypt.so.1 => /lib/libcrypt.so.1 (0x4007a000)
>        libresolv.so.2 => /lib/libresolv.so.2 (0x400a7000)
>        libnsl.so.1 => /lib/libnsl.so.1 (0x400b9000)
>        libdl.so.2 => /lib/libdl.so.2 (0x400d0000)
>        libm.so.6 => /lib/i686/libm.so.6 (0x400d4000)
>        libc.so.6 => /lib/i686/libc.so.6 (0x400f7000)
>        libpthread.so.0 => /lib/i686/libpthread.so.0 (0x40232000)
>        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
>
> Best regards
> Jorge Serván.
>
> Adam Radłowski wrote:
>
>> I'm testing 8.1.3 and 8.1.6 of FC3 2.6.12 .
>> I have installed (compiled from source) two copies of PostgreSQL:
>> 8.1.3 - typically in /usr/local/pgsql and I have configured path to
>> these libs (in ld.so.conf): /usr/local/pgsql/lib
>> 8.1.6 - not typically in /usr/local/pgsql816 (I edited before
>> installing with "make install" src/Makefile.global and I changed
>> "prefix" for install after "configure" and "make")
>> I never use this two versions of postmaster parallel, so I use for
>> them this same database cluster.
>>
>> What libraries uses postmaster 8.1.6 in this situation ? Their own
>> libs or taken from 8.1.3 ?
>>
>> Best regards
>> Adam
>>
>> ---------------------------(end of broadcast)---------------------------
>> TIP 7: You can help support the PostgreSQL project by donating at
>>
>>                http://www.postgresql.org/about/donate
>>
>>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: In versions below 8.0, the planner will ignore your desire to
>       choose an index scan if your joining column's datatypes do not
>       match
>
>