Skip to content

подключение через UNIX soket #30

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
sgrinko opened this issue Jun 5, 2018 · 6 comments
Closed

подключение через UNIX soket #30

sgrinko opened this issue Jun 5, 2018 · 6 comments

Comments

@sgrinko
Copy link

sgrinko commented Jun 5, 2018

Почему-то не получается подключиться...
окружение: pg_probackup 2.0.17 (собран из исходников github)
сервер ваниль 10.4

# lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.5.1804 (Core)
Release:        7.5.1804
Codename:       Core
#
-bash-4.2$ psql
psql.bin (10.4)
Type "help" for help.

postgres=# select name, setting from pg_settings where name = 'unix_socket_directories';
          name           | setting
-------------------------+---------
 unix_socket_directories | /tmp
(1 row)

postgres=# \q
-bash-4.2$ ls -a /tmp/.s.*
/tmp/.s.PGSQL.5432  /tmp/.s.PGSQL.5432.lock  /tmp/.s.PGSQL.6432
-bash-4.2$ pg_probackup backup  -b full --stream --instance=10
INFO: Backup start, pg_probackup version: 2.0.17, backup ID: P9UDEF, backup mode: full, instance: 10, stream: true, remote: false
ERROR: could not connect to database postgres: could not connect to server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

-bash-4.2$ pg_probackup version
pg_probackup 2.0.17 (PostgreSQL 10.3)
-bash-4.2$

почему pg_probackup ищет Unix domain socket по пути "/var/run/postgresql/.s.PGSQL.5432"?
мне нужно принудительно в конфигах постгресса поменять настройку?

@sgrinko
Copy link
Author

sgrinko commented Jun 5, 2018

При попытке подключиться с указанием хоста и пользователя получаю другую ошибку

# echo $PGDATA
/var/lib/postgresql/10
# echo $BACKUP_PATH
/mnt/pgbak
# pg_probackup backup -b full --stream -h localhost -U postgres -d postgres --instance=10
INFO: Backup start, pg_probackup version: 2.0.17, backup ID: P9UDRU, backup mode: full, instance: 10, stream: true, remote: false
pg_probackup: symbol lookup error: pg_probackup: undefined symbol: PQconninfo
#

@gsmolk
Copy link
Contributor

gsmolk commented Jun 5, 2018

Добрый день.

почему pg_probackup ищет Unix domain socket по пути "/var/run/postgresql/.s.PGSQL.5432"?
мне нужно принудительно в конфигах постгресса поменять настройку?

Похоже, что используется системный libpq, а не тот, с которым собирали.

pg_probackup: symbol lookup error: pg_probackup: undefined symbol: PQconninfo

Еще и довольно древний, судя по всему.

Что возвращает ldd pg_probackup ?

@sgrinko
Copy link
Author

sgrinko commented Jun 5, 2018

[bin]# ldd pg_probackup
        linux-vdso.so.1 =>  (0x00007ffe4f3a8000)
        libpq.so.5 => /lib64/libpq.so.5 (0x00007fbfc23ee000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fbfc21d2000)
        libz.so.1 => /lib64/libz.so.1 (0x00007fbfc1fbc000)
        libc.so.6 => /lib64/libc.so.6 (0x00007fbfc1bef000)
        libssl.so.10 => /lib64/libssl.so.10 (0x00007fbfc197d000)
        libcrypto.so.10 => /lib64/libcrypto.so.10 (0x00007fbfc151c000)
        libkrb5.so.3 => /lib64/libkrb5.so.3 (0x00007fbfc1234000)
        libcom_err.so.2 => /lib64/libcom_err.so.2 (0x00007fbfc1030000)
        libgssapi_krb5.so.2 => /lib64/libgssapi_krb5.so.2 (0x00007fbfc0de3000)
        libldap_r-2.4.so.2 => /lib64/libldap_r-2.4.so.2 (0x00007fbfc0b84000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fbfc261d000)
        libk5crypto.so.3 => /lib64/libk5crypto.so.3 (0x00007fbfc0951000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007fbfc074d000)
        libkrb5support.so.0 => /lib64/libkrb5support.so.0 (0x00007fbfc053f000)
        libkeyutils.so.1 => /lib64/libkeyutils.so.1 (0x00007fbfc033b000)
        libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fbfc0122000)
        liblber-2.4.so.2 => /lib64/liblber-2.4.so.2 (0x00007fbfbff13000)
        libsasl2.so.3 => /lib64/libsasl2.so.3 (0x00007fbfbfcf6000)
        libssl3.so => /lib64/libssl3.so (0x00007fbfbfaa4000)
        libsmime3.so => /lib64/libsmime3.so (0x00007fbfbf87d000)
        libnss3.so => /lib64/libnss3.so (0x00007fbfbf550000)
        libnssutil3.so => /lib64/libnssutil3.so (0x00007fbfbf321000)
        libplds4.so => /lib64/libplds4.so (0x00007fbfbf11d000)
        libplc4.so => /lib64/libplc4.so (0x00007fbfbef18000)
        libnspr4.so => /lib64/libnspr4.so (0x00007fbfbecda000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fbfbeab3000)
        libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fbfbe87c000)
        librt.so.1 => /lib64/librt.so.1 (0x00007fbfbe674000)
        libpcre.so.1 => /lib64/libpcre.so.1 (0x00007fbfbe412000)
        libfreebl3.so => /lib64/libfreebl3.so (0x00007fbfbe20f000)
[bin]#

@gsmolk
Copy link
Contributor

gsmolk commented Jun 5, 2018

Разобрались в личной переписке. Проблема была действительно в устаревшем libpq из системного репозитория - у RHEL в репо до сих пор лежит 9.2. Надо подумать, что с этим можно сделать.

@gsmolk
Copy link
Contributor

gsmolk commented Jun 5, 2018

Статическая линковка выглядит хорошим вариантом.

@sgrinko
Copy link
Author

sgrinko commented Jun 5, 2018

Спасибо!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants