Npgsql无法通过PgPool建立与CentOS PostgreSQL的连接

时间:2013-04-24 13:47:04

标签: asp.net postgresql centos npgsql pgpool

我在Asp.net中有一个webapplication连接到一个运行CentOS和PostgreSQL的独立数据库服务器。此设置工作正常。

为了提高数据库服务器的性能,我正在尝试安装和配置PgPool-II,以便在CentOS服务器上汇集数据库连接。

配置完成后,我可以使用CentOS命令行中的pgpool配置端口连接到PostgreSQL,所以我假设pgpool启动并运行。

当我尝试使用我的新pgpool端口从我的webapplication连接到数据库服务器时,我在事件日志中得到以下NpgdslException:

  

无法与'[db-server of db-server]'

建立连接

一些配置文件:

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

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

有人能帮助我吗?

1 个答案:

答案 0 :(得分:0)

要做的第一件事是确保pgpool在正确的端口上运行。这可以使用热熔器轻松完成:

fuser -n tcp 6432

如果它没有返回任何内容,则没有任何内容正在侦听。在这种情况下,请确保pgpool正在运行:

ps -A | grep pgpool

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