为什么在Server 2008中更改PostgreSQL 9.5的数据目录会导致“目录不存在”?

我试图将PostgreSQL 9.5数据库迁移到Windows 2008 Server上的更大磁盘E. 在停止服务之后,我最初尝试将data文件夹复制到新磁盘,然后使用更改PostgreSQL服务的可执行path

 sc config postgresql-x64-9.5 binPath= "\"C:\Program Files\PostgreSQL\9.5\bin\pg_ctl.exe\" runservice -N \"postgresql-x64-9.5\" -D \"E:\pg_db\data\" -w" 

我通过右键单击该文件夹并转到“ Properties ”,更改了data文件夹的权限以包含“networking服务”。 在Security标签下点击“ Edit... ”,然后“ Add... ”。 键入“ Network Service ”,然后单击“ Check Names ”,然后OK

但是,当我按下服务启动时,Windows事件查看器下面显示以下错误信息:

 FATAL: data directory "E:/pg_db/data" does not exist. 

我什至试图从pipe理员cmd提示符使用说明在这里创build一个新的数据目录,但最终得到了同样的错误。

当我写这篇文章的时候,我看到“类似问题” 的答案之一是“在安装过程中重新安装Postgre并select数据文件夹更容易”。 这不可能是我们能做的最好的事情。

通过在本机Windows Wiki上运行和安装PostgreSQL扫描时发现问题

PostgreSQL服务帐户需要读取服务目录中所有目录的读取权限。 它只需要在数据目录上写入权限。

我已经在Network Servicedata目录上设置了写入权限,但在上面的目录中没有读取权限。