无法使用spring和hibernate连接到postgresQL

时间:2014-06-10 12:58:47

标签: java spring hibernate postgresql

我有春季网络应用程序,我正在尝试与postgress连接。 这是数据库连接属性

datasource.driver=org.postgresql.Driver
datasource.url=jdbc:postgresql://localhost:5432/sampleDb
datasource.username=postgres
datasource.password=postgres

这是应用程序上下文

<bean id="appDataSource" class="org.apache.commons.dbcp.BasicDataSource">
        <property name="driverClassName">
            <value>${datasource.driver}</value>
        </property>
        <property name="url">
         <value>${datasource.url}</value>
       </property>
       <property name="username">
         <value>${datasource.username}</value>
       </property>
       <property name="password">
         <value>${datasource.password}</value>
       </property>

    </bean>

当我启动应用程序时,会收到错误信息。

Cannot create PoolableConnectionFactory (Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.

为什么会发生这种情况?

我从另一台机器恢复了这个数据库。我不知道他们在那个sql文件中写了什么。该sql转储文件中有一个代码。

REVOKE ALL ON TABLE workflow_type FROM PUBLIC;
REVOKE ALL ON TABLE workflow_type FROM postgres;
GRANT ALL ON TABLE workflow_type TO postgres;
GRANT SELECT,INSERT,DELETE,REFERENCES,UPDATE ON TABLE workflow_type TO user1;

这是否因为此查询而发生?

2 个答案:

答案 0 :(得分:0)

你以前尝试在命令行下连接psql吗?它只是为了测试你的pg_hba.conf是否正常。

如果你不能与psql连接。打开你的pg_hba.conf文件,如果你在本地计算机上,用信任替换md5就可以得到类似的东西:

 local   all         all                             trust

这允许每个人连接到你的postgres服务器。 用psql命令行重试连接。

如果有效,请重试启动服务器以查看spring现在是否可以连接到db。

答案 1 :(得分:0)

你的Postgres是否在localhost:5432上启动并运行?您是否可以通过命令行连接到数据库(例如psql <dbname> -h localhost -U <username> -W)?