Npgsql не удалось установить соединение с CentOS PostgreSQL через PgPool

У меня есть веб-приложение в Asp.net, которое подключается к отдельному серверу баз данных под управлением CentOS с PostgreSQL. Эта настройка работает отлично.

Чтобы повысить производительность на сервере базы данных, я пытаюсь установить и настроить PgPool-II для объединения подключений к базе данных на сервере CentOS.

После настройки я могу подключиться к PostgreSQL через порт, настроенный для pgpool, из командной строки CentOS, поэтому я предполагаю, что pgpool запущен и работает.

Когда я пытаюсь подключиться из моего веб-приложения к серверу базы данных с моим новым портом pgpool, я получаю следующее исключение NpgdslException в журнале событий:

Не удалось установить соединение с '[ip-адрес db-сервера]'

Некоторые конфигурационные файлы:

pgpool.conf:

listen_address = '*'
port = 6432
pcp_port = 9898

enable_pool_hba = true

socket_dir = '/tmp'
pcp_socket_dir = '/tmp'

backend_hostname = ''
backend_port = 5432

num_init_children = 50
max_pool = 4
connection_life_time = 120
client_idle_limit = 0

debug_level = 0

pool_hba.conf:

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# "local" is for Unix domain socket connections only
local   all         all                               trust
# IPv4 local connections:
host    all         all         127.0.0.1/32          trust
# Network access
host    all             all     192.168.0.0/24          md5

У меня все порты открыты в брандмауэре CentOS, настроенном в /etc/sysconfig/iptables.Поэтому, когда я подключаюсь к порту 5432 в моем веб-приложении, все в порядке, но когда я изменяю порт на 6432, порт для pgpool), я получаю упомянутое исключение.

Кто-нибудь может мне помочь?

1 ответ

Первое, что нужно сделать, это убедиться, что pgpool работает на нужном порту. Это можно легко сделать с помощью фьюзера:

fuser -n tcp 6432

Если ничего не возвращается, на вашем порте ничего не прослушивается. В этом случае убедитесь, что pgpool запущен:

ps -A | grep pgpool

Если это показывает только ваш grep, то ваш pgpool не был запущен. Пожалуйста, обратитесь к вашей информации об оборотах для получения информации о том, как его запустить. Это может включать chkconfig а также system

Другие вопросы по тегам