自从我重新启动 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,我注意到有时日志不会告诉您哪里出了问题。我发现的一个解决方法是:
在我的系统中,postgres.exe 位于“C:/Program Files/PostgreSQL/16/bin/postgres.exe”。您的系统应该位于类似的位置。您必须将 16 更改为您自己的 PostgreSQL 版本号。
打开CMD并运行
"C:/Program Files/PostgreSQL/16/bin/postgres.exe" "-D" "C:\Program Files\PostgreSQL\16\data"
输出将告诉您程序无法正常运行的原因,然后您可以继续修复问题。
在某些情况下,您会发现您的配置存在一些问题,一旦这些问题得到解决,程序就可以正常运行。