我试图将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 Service的data目录上设置了写入权限,但在上面的目录中没有读取权限。