现象

执行PKServermgrUI.exe,等了1分钟,界面也没有显示任何进程;查看此时的pkservermgr.exe黑窗口,提示数据库连接失败。

进入bin目录,执行start_pgsql.bat,窗口过会关闭

查看日志log/postgres.log,提示:

2021-02-27 17:10:06.557 HKT [4800] FATAL: could not remove old lock file "postmaster.pid": Permission denied
2021-02-27 17:10:06.557 HKT [4800] HINT: The file seems accidentally left over, but it could not be removed. Please remove the file by hand and try again.


分析

  1. 看起来似乎是权限不对,但找到该文件,右键属性/安全,Administrator用户和Adminstrators群组都具有下图中的5种权限。
  2. 查看当前用户(通过任务管理器),显示当前用户确实是Administrator
  3. 查看Users群组的权限,仅仅配置了部分权限,于是修改其权限为和管理员一样的5种权限,再启动已经不报这个错误了。但会报其他文件的拒绝访问权限
  4. 于是,将pgdata目录的安全属性中,Users的权限改为和管理员一样
  5. 问题解决,能够启动

解决方法

将pgdata目录的安全属性中,Users的权限改为和管理员一样,重启解决