2013-04-24 68 views
1

我在Asp.net中有一个web应用程序,连接到运行带有PostgreSQL的CentOS的单独数据库服务器。这个设置工作正常。Npgsql无法通过PgPool建立与CentOS PostgreSQL的连接

为了提高数据库服务器的性能,我试图安装PgPool-II,并配置CentOS服务器上的数据库连接。

配置完成后,我可以通过CentOS命令行中的pgpool配置的端口连接到PostgreSQL,所以我认为pgpool已启动并正在运行。

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

无法建立连接“分贝[IP地址-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 

我已经在我的CentOS的防火墙上打开的端口在/ etc/SYSCONFIG/iptables的配置。 所以,当我在我的web应用程序中连接到端口5432时,一切都很好,但是当我将端口更改为6432时,pgpool的端口),那么我会得到上述异常。

任何人都可以帮助我吗?

回答

0

首先要做的是确保pgpool在正确的端口上运行。这可以很容易地利用定影器来完成:

fuser -n tcp 6432 

如果它不返回任何东西没有什么是你的端口上侦听。在这种情况下,确保pgpool运行:

ps -A | grep pgpool 

如果这只能说明你的grep,那么你的pgpool尚未启动。有关如何启动它的信息,请参阅您的rpm信息。这可能涉及chkconfigsystem