我知道我的信息似乎与另一个人重复,但我不这么认为。告诉我,如果我错了。
我刚刚用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>");
事实:
编辑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 - 我将提供一些跟踪,看看我是否可以获得更多信息
答案 0 :(得分:0)
如果正在运行则关闭Skype,因为skype获取相同的端口。很久以前这个技巧对我有所帮助。
答案 1 :(得分:0)
检查Windows防火墙是否阻止该端口。
答案 2 :(得分:0)
我通过解决方法纠正了我的问题。 我将PostgreSQL监听端口改为5433,一切都像魅力......
我认为原始端口被其他东西使用,或被我找不到的某些安全工具阻止。