Postgres数据源定义-连接被拒绝



我正在尝试建立一个用于集成测试的快速数据源,所以与其在应用程序服务器上配置它-Wildfly 10-我更喜欢动态部署它。

这就是我配置它的方式:

@DataSourceDefinitions({
    @DataSourceDefinition(
            name = "java:/datasources/testdb",
            className = "org.postgresql.xa.PGXADataSource",
            user = "testdb",
            password = "testdb",
            serverName = "localhost",
            portNumber = 5432,
            databaseName = "testdb",
            minPoolSize = 10,
            maxPoolSize = 50)
})
public class DatasourceDefinitions {}

我尝试过使用localhost127.0.0.1,并使用参数url而不是三重serverNameportdatabaseName,但我总是遇到Connection Refused错误

Caused by: java.net.ConnectException: Connection refused
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at java.net.Socket.connect(Socket.java:538)
    at java.net.Socket.<init>(Socket.java:434)
    at java.net.Socket.<init>(Socket.java:211)
    at org.postgresql.core.PGStream.<init>(PGStream.java:62)
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:76)
    ... 41 more

我已经检查了userpassword,如果我尝试使用pgAdmin登录,它们可以正常工作。

以下是Postgres配置:

# Database administrative login by Unix domain socket
local   all             postgres                                peer
# TYPE  DATABASE        USER            ADDRESS                 METHOD
# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                peer
#host    replication     postgres        127.0.0.1/32            md5

我还启用了线路

listen_addresses = 'localhost'          # what IP address(es) to listen on;

在配置文件postgresql.conf

有人能告诉我我错过了什么和/或做错了什么吗?

已解决。

问题出现在Postgres配置中,即文件/etc/postgresql/9.4/main/postgresql.conf中。

我更改了这个

listen_addresses = 'localhost'

进入这个

listen_addresses = '127.0.0.1'

现在它运行得很好。

最新更新