postgresql 服务损坏,我该如何重新创建服务?

postgresql 服务损坏,我该如何重新创建服务?

我最近被诱骗运行其中一个注册表清理程序(RegistryBooster)。

在我尝试启动我的 postgres 服务之前,它似乎运行良好。

由于某种原因,服务属性页面上不再设置“可执行文件路径”,并且显然如果没有路径就无法启动。

我怎样才能修复现有服务或卸载/重新安装该服务,而不重新安装 postgres?

发布于 2018-07-06 在 Ubuntu 18.04 上安装 Postgres 8.4

编辑: 在尝试修复此问题时,我意外地将整个服务删除了。因此问题变成:如何重新安装该服务而不重新安装整个 postgres?

再次感谢...

答案1

尝试在注册表中添加/更改键“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\pgsql-8.4\ImagePath”(更改版本和数据目录):

"C:\Program Files\PostgreSQL\8.4\bin\pg_ctl.exe" runservice -w -N "pgsql-8.4" -D "C:\Program Files\PostgreSQL\8.4\data\"

或运行命令:“C:\Program Files\PostgreSQL\8.4\bin\pg_ctl.exe”runservice -w -N“pgsql-8.4”-D“C:\Program Files\PostgreSQL\8.4\data\”

如果没有帮助,您将需要重新安装 PostgreSQL。

答案2

我曾经两次安装过不同的 PostgreSQL,但服务最终都自动停止了工作,我认为这是由于 Windows 重大更新后出现的权限问题(绝对不是由于注册表清理!)。

但无论如何,我认为值得指出的是,@pstanton 在对@alvosu 的回答的评论中所说的确实是一个更好的答案,即:

要删除服务:

pg_ctl unregister -N "PostgreSQL 9.6 Server"

(使用您的服务实际具有的简称)

然后重新安装

pg_ctl register -N "PostgreSQL 9.6 Server"

-D "C:\Program Files\PostgreSQL\data\pg96"如果您没有PGDATA设置环境变量,则需要将标志(或正确的路径)添加到注册命令。

相关内容