在 Windows 上将 postgres 作为服务运行,立即启动并停止

在 Windows 上将 postgres 作为服务运行,立即启动并停止

自从我重新启动 Windows 来安装更新后,Postgres 就停止作为服务启动了。我认为这可能是权限问题,所以我给了每个人修改 postgres 安装文件夹的权限。然后我尝试使用启动运行数据库,它成功了。但是当我尝试启动服务时,我收到以下消息:本地计算机上的服务已启动并停止。

然后我尝试重新安装 Postgres,但它已经到了最后并且无法启动。

任何帮助都将非常有帮助。

答案1

我在 v9.4 上遇到了同样的问题

我发现删除c:\Program Files(x86)\PostgreSQL\9.4\data\postmaster.pid然后\postmaster.opts重新启动该服务可以解决该问题。

答案2

在没有检查错误日志的情况下,切勿进行任何激烈的操作,例如卸载并重新安装:

(Windows) C:\Program Files\PostgreSQL<版本>\data\log

问题可能非常简单,例如(就我的情况而言) IP 地址pg_hba.conf缺少掩码 - 在这种情况下,盲目卸载可能不起作用。

答案3

解决问题的方法是完全卸载 Postgres 并重新安装。我确保在重新安装之前从磁盘中删除了它的所有痕迹。这似乎是让它正常工作的唯一方法。

答案4

我使用的是 Windows,我注意到有时日志不会告诉您哪里出了问题。我发现的一个解决方法是:

  1. 在我的系统中,postgres.exe 位于“C:/Program Files/PostgreSQL/16/bin/postgres.exe”。您的系统应该位于类似的位置。您必须将 16 更改为您自己的 PostgreSQL 版本号。

  2. 打开CMD并运行

"C:/Program Files/PostgreSQL/16/bin/postgres.exe" "-D" "C:\Program Files\PostgreSQL\16\data"

输出将告诉您程序无法正常运行的原因,然后您可以继续修复问题。

在某些情况下,您会发现您的配置存在一些问题,一旦这些问题得到解决,程序就可以正常运行。

相关内容