JDBC连接被拒绝:postgres /同一台机器

时间:2015-10-14 13:14:13

标签: java windows postgresql jdbc

我知道我的信息似乎与另一个人重复,但我不这么认为。告诉我,如果我错了。

我刚刚用Java / swing / postgresql完成了一个免费软件。它已在Windows和Linux上成功测试。

现在我正在尝试编写它的文档,而且我在文档的“安装postgresql服务器”部分。

问题在于我不记得我为使应用程序与PostgreSQL一起工作做了什么(我知道它很蹩脚......)。

JDBC字符串在代码中以这种方式生成:

// Open the SQL Connection 
m_sql_connection = DriverManager.getConnection("jdbc:postgresql://"+m_postgresql_server_name+":"+m_postgresql_port_number+"/"+m_postgresql_database_name, "postgres", "<not empty>");

事实:

  • 我在64位Windows 7机器上工作
  • PostgreSQL服务器正在运行(我看到服务已启动)
  • PostgreSQL服务器配置似乎没问题
  • 我在我的JDBC字符串中使用login:postgres / pass:
  • 我可以使用pgAdmin III进行我想要的查询并且可以正常工作
  • 数据库服务器与“* .jar”应用程序文件
  • 位于同一台计算机上
  • jar应用程序适用于Linux版本和另一台Windows 7 32位计算机(开发计算机)
  • 我禁用了我的防病毒软件(以防万一......)
  • psql.exe运行良好(我可以用它插入数据)

编辑1 - &gt; JJF   - 我刚刚在Windows防火墙中添加了 postgresql.exe pg_ctl.exe ,并选中了两个复选框(公共主页/工作(私人)

结果:相同错误

Edit2 - &gt; Hardik Patel   - Skype已关闭

编辑3 - &gt; JJF   - 完全停止Windows防火墙后,仍然存在同样的问题

我得到的错误就是这个:

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

我想知道我是否不必“解锁” postgres 帐户以允许它通过JDBC访问数据。

编辑4 - 没有名字的马   - 我用127.0.0.1替换了localhost   - 端口是标准端口5432,使用psql验证   - 我在尝试JDBC连接之前测试了psql.exe(工作)命令行(不工作)   - 结果仍然相同......

编辑5   - 我将提供一些跟踪,看看我是否可以获得更多信息

3 个答案:

答案 0 :(得分:0)

如果正在运行则关闭Skype,因为skype获取相同的端口。很久以前这个技巧对我有所帮助。

答案 1 :(得分:0)

检查Windows防火墙是否阻止该端口。

答案 2 :(得分:0)

我通过解决方法纠正了我的问题。 我将PostgreSQL监听端口改为5433,一切都像魅力......

我认为原始端口被其他东西使用,或被我找不到的某些安全工具阻止。