我在Asp.net中有一个webapplication连接到一个运行CentOS和PostgreSQL的单独数据库服务器。这个设置工作正常。
为了提高数据库服务器的性能,我正在尝试安装并配置PgPool I I,以便在CentOS服务器上共享数据库连接。
配置完成后,我可以从CentOS命令行使用pgpool配置的端口连接到PostgreSQL,因此我假设pgpool已经启动并运行。
当我尝试使用新的pgpool端口从我的web应用程序连接到数据库服务器时,在事件日志中收到以下NpgdslException:
无法建立到“[db服务器的ip地址]”的连接
一些配置文件:
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

池配置:
# 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

我已经在/etc/sysconfig/iptables中配置了CentOS防火墙中打开的所有端口。
所以当我连接到我的webapplication中的5432端口时,一切都很好,但是当我将端口更改为6432(pgpool的端口)时,我得到了所提到的异常。
有人能帮我吗?

最佳答案

首先要确保pgpool在正确的端口上运行。这可以使用热熔器轻松完成:

fuser -n tcp 6432

如果它不返回任何东西,就没有任何东西在监听你的端口。在这种情况下,请确保pgpool正在运行:
ps -A | grep pgpool

如果这只显示你的grep,那么你的pgpool还没有启动。有关如何启动的信息,请参考您的rpm信息。这可能涉及chkconfigsystem

关于asp.net - Npgsql无法通过PgPool建立与CentOS PostgreSQL的连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16193690/

10-13 03:47