无法将PostgreSQL作为Windows服务运行

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (733)

在Windows服务中有这个:

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

它永远不会完成执行。但是,如果我在dos外壳上执行此操作:

C:/Program Files/PostgreSQL/8.4/bin/pg_ctl.exe start -N "postgresql-8.4" -D "D:/PostgreSQL/8.4/data" -w

请注意,我只是将“runservice”更改为“start”,并且它工作得很好。

提问于
用户回答回答于

将我的数据目录设置为postgres windows用户帐户无权访问的地方。

用户回答回答于

命令runservice只能由服务管理器执行

为了解决我的本地主机的Windows 7启动postgres作为服务我使用以下命令来启动数据

 pg_ctl -D "C:\Program Files\PostgreSQL\9.1\data" start 

然后检查状态是否有错误

 pg_ctl -D "C:\Program Files\PostgreSQL\9.1\data" status 

如果你得到错误1063,它的可能性很大,我执行下面的命令

 cacls "C:\Program Files\PostgreSQL\9.1\data" /E /T /C /G postgres:F

然后重新开始/状态,它显示一切正常,但仍然服务经理不会启动服务

所以,在服务 - > postgresql-> options->登录我设置为本地系统帐户而不是postgres用户登录,并说它工作。

扫码关注云+社区

领取腾讯云代金券