无法连接到Postgres的服务器

时间:2016-11-10 16:23:26

标签: postgresql

我在更新Windows后连接Postgres服务器时遇到问题。在我更新之前打开数据库没有问题。我在Postgres的数据库也不见了。当我想创建我的新数据库时,它会显示以下错误:

  

无法连接到服务器:无法连接到服务器:连接被拒绝(0x0000274D / 10061)服务器是否在主机“localhost”(:: 1)上运行并接受端口5432上的TCP / IP连接?无法连接到服务器:连接被拒绝(0x0000274D / 10061)服务器是否在主机“localhost”(127.0.0.1)上运行并接受端口5432上的TCP / IP连接?

16 个答案:

答案 0 :(得分:15)

在Windows上,只需转到“服务”。启动/重新启动postgresql-X64服务。当我的服务处于某种停止状态时,它对我有用。

答案 1 :(得分:5)

如果您的服务器不在localhost上,则有两个要配置的项目:

  • 找到您的postgresql.conf并将您服务器的公共IP地址添加到设置listen_addresses的末尾(用逗号分隔多个条目);如果已注释掉该行,则取消注释该行(例如,使用“#”)
  • 在包含客户端IP地址的pg_hba.conf中添加一行 - 您可以复制包含127.0.0.1的行并仅更改IP地址

在Ubuntu上,这些文件位于/etc/postgresql/<version>/main/

答案 2 :(得分:3)

首先按win键+R 搜索 services.msc 将打开一个窗口,找到 postgresql-x64-13 并打开它,在该选项卡中单击 开始 选项 对我来说,它的作品完美无缺。

答案 3 :(得分:2)

在Windows上安装后立即解决了此问题。在启动时pgAdmin给出了这个错误,这意味着服务器没有运行。对我而言,解决方案是:开始->控制面板->管理->服务-> postgresql-x64-12-启动或重新启动

答案 4 :(得分:2)

转到服务并启动 postgresql-x64-10 服务

<块引用>

步骤

  • 运行 -> services.msc -> 找到 postgresql-x64-10 -> 启动服务
  • services image

答案 5 :(得分:2)

  1. 转到 PgAdmin
  2. 右键单击 PostgreSQL 3.选择属性
  3. 在顶部,选择连接
  4. 尝试将端口从 5433 更改为 5432,反之亦然。

然后重新输入。

答案 6 :(得分:1)

在Windows上,只需转到“服务”。启动/重新启动postgresql-X64服务。当我的服务处于某种停止状态时,它对我有用。

为我工作

答案 7 :(得分:1)

由于某种原因,我无法打开pgAdmin4。我使用Postgresql 10和pgAdmin4

port中的postgresql.conf与pgAdmin4-> postgreSQL 10->属性->连接->端口中的不同。

我修复了它,并且奏效了。检查这两个是否符合要求。

答案 8 :(得分:1)

您可能在“services.msc”中更改了“PostgreSQL 12”的权限。或者它可能没有启动,而您正在尝试在 Postgre 12 未运行时启动服务器。

试试这些:

  1. 尝试手动启动“services.msc”中的“PostgreSQL 12”。
  2. 尝试重新启动您的电脑
  3. 如果没有任何帮助,请尝试从头开始重新安装 PostgreSQL (pgAdmin 4)。

答案 9 :(得分:1)

转到C:\Program Files\PostgreSQL\13\data,使用记事本编辑postgresql.conf

变化:

#port = 54XX

致:

port = 54XX

(更改需要重启)

在窗口的“服务系统”重启服务。

答案 10 :(得分:0)

当我将数据库移动到另一台计算机时,收到此错误消息。

首次使用

启动服务器时,我也收到了一些错误消息

pg_ctl -D /wherever/your/database/is start

  

pg_ctl:另一台服务器可能正在运行;无论如何都试图启动服务器   服务器启动

     

详细信息:文件&#34; / where / your / database / is / PG_VERSION&#34;不包含有效数据。

     

提示:您可能需要initdb。

在我的情况下,而不是运行initdb这个命令实际上修复了问题

pg_ctl -D /wherever/your/database/is restart

答案 11 :(得分:0)

我认为问题在于您的服务器正在监听默认的公共IP地址。 例如,在PostgreSQL软件包中,您的服务器设置为侦听localhost作为默认的公共地址,当您启动/运行数据库时,该地址可能类似于'127.0.0.1'

要解决此问题,您可以尝试将 localhost 更改为“ ”,如“ listen_addresses =''”中一样。

在postgresql.conf文件的“连接设置”下显示为“ listen_addresses ='localhost'”。

也要访问您的postgresql.conf文件,请访问:

在Windows上,该文件位于/ Program Files / PostgreSQL // share /中。 在Ubuntu上,这些文件位于/ etc / postgresql // main /中。

P.S:更改默认值“ localhost”;设为'*'将使您的服务器侦听任何公共数据库地址,例如“ localhost,127.0.0.1等。

我知道您可能已经解决了此问题,只是针对将来可能会遇到相同问题的其他问题。希望对您有帮助

答案 12 :(得分:0)

这是给普通用户的注意事项。如果使用官方安装程序,它应该有一个内置的服务,

  1. Win+R 并输入 services.msc
  2. 根据安装的版本搜索 Postgres 服务,例如“postgresql-x64-13 - PostgreSQL Server 13
  3. 单击停止、启动或重新启动服务选项
  4. 如果您没有看到启动/停止或这些按钮被禁用,则双击 PostgreSQL 并将启动类型更改为自动,然后单击启动。这将在您每次启动系统时自动启动 PostgreSQL。

答案 13 :(得分:0)

使用带单引号的 psql 失败:

psql -c 'Select version();' 'postgresql://username:password@db.abcdefghi.ap-southeast-2.rds.amazonaws.com:8080/the_db'
<块引用>

psql:无法连接到服务器:连接被拒绝 (0x0000274D/10061) 服务器是否在主机“localhost”(::1) 上运行并接受 端口 5432 上的 TCP/IP 连接?无法连接到服务器:连接被拒绝 (0x0000274D/10061) 服务器是否在主机“localhost”(127.0.0.1)上运行并接受 端口 5432 上的 TCP/IP 连接?

使用双引号有效:

psql -c "Select version();" "postgresql://username:password@db.abcdefghi.ap-southeast-2.rds.amazonaws.com:8080/the_db"
<块引用>

PostgreSQL 10.14 on x86_64-pc-linux-gnu,由 x86_64-unknown-linux-gnu-gcc (GCC) 4.9.4 编译,64 位 (1 行)

答案 14 :(得分:0)

发生这种情况是因为我安装了两个版本的 Postgres(v12 和 v13)。稍后安装了 Psql 12,因此获得了端口 5433。我需要使用 Postgres 12。要解决这个特殊情况:

  • 转到 Program Files/Postgres//data

    打开 postgresql.conf 文件

    搜索 Port 并将端口号更改为 5432。

  • 打开 Windows 服务(按 Cmd + R 然后输入 services.msc

  • 停止您不想要的版本的服务(您可以从右键单击 > 属性菜单中永久停止它。)

  • 启动所需版本的服务。

答案 15 :(得分:-2)

您必须已经安装了二进制文件。转到此链接并安装可执行(exe)版本。 postgresql download link 并尝试再次连接到服务器。