繁体   English   中英

PostgreSQL:无法连接到服务器 - 连接被拒绝错误

[英]PostgreSQL: could not connect to server - Connection refused error

过去一周我未能设置postgreSQL来处理我的Ruby-on-Rails项目。
我已经尝试卸载并重新安装postgreSQL两次。
但是当我尝试启动postgreSQL时,我不断收到以下错误消息:

could not connect to server: Connection refused (0x0000274D/10061)
         Is the server running on host "localhost" (::1) and
         accepting TCP/IP connections on port 5432? 
could not connect to server: Connection refused (0x0000274D/10061) 
         Is the server running on host "localhost" (127.0.0.1) and 
         accepting TCP/IP connections on port 5432?"

我查看了许多在线资源,包括stackoverflow ,但似乎没有任何帮助。
我的pg_hba.conf文件的关键部分如下所示:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# 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.
#host    replication     postgres        127.0.0.1/32            md5
#host    replication     postgres        ::1/128                 md5

而我的postgresql.conf文件的关键部分如下:

listen_addresses = '*'      # what IP address(es) to listen on;
                    # comma-separated list of addresses;
                    # defaults to 'localhost'; use '*' for all
                    # (change requires restart)
port = 5432             # (change requires restart)
max_connections = 100           # (change requires restart)
#superuser_reserved_connections = 3 # (change requires restart)
#unix_socket_directories = ''   # comma-separated list of directories
                    # (change requires restart)
#unix_socket_group = ''         # (change requires restart)
#unix_socket_permissions = 0777     # begin with 0 to use octal notation

到目前为止,我所看到的大多数建议都是基于这两个文件。 (就我而言,它们已经正确配置)。 我也试过禁用防火墙并重新启动 postgreSQL 但它没有帮助。 有人对我有什么建议吗? 谢谢!

在设置 PostgreSQL 9.6.16 以使用 Python/Django 时遇到同样的问题,但这纯粹是一个数据库问题。

解决方法在于错误:事实上,我在PostgreSQL官方文档中发现了这个错误,因此这是一个常见错误。

这是我解决这个问题的方法:

  1. 总是首先启动 postgres数据库服务器,使用postgres或包装程序pg_ctl
    我在windows 10上使用了下面的命令。
    请记住, -D之后的任何内容都应该是您安装 PostgreSQL 的路径、 data文件夹的路径,该文件夹包含pg_hba.confpostgresql.conf文件。
> pg_ctl start -D "C:/Program Files/PostgreSQL/9.6/data"
  1. 如果运行良好,您就可以访问数据库服务器了。
    打开另一个cmd shell,然后键入以下命令。
    还记得您在安装PostgreSQL输入的密码吗?
    当询问Password for user postgres:密码时输入该密码Password for user postgres:
> psql -U postgres

完成后,您现在可以继续CREATE ROLE并相应地CREATE DATABASE

[解决了]

经过更多的研究。 我深入查看了我在下载后收到的错误,并在这里找到了这个解决方案

祝有同样问题的人好运!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM