PostgreSQL无法启动“global/pg_control”:Permission denied
目录
昨天在为用户进行迁移后,用户Windows 2012系统上PostgreSQL服务无法启动,日志中提示“global/pg_control”:Permission denied,于是上网一顿搜索终于解决了这个问题。
检查
如果端口没有被占用,那么你可以用PostgreSQL原生的命令启动它。进入postgresql安装路径下的 bin 文件夹,在这里打开命令行,执行下面的命令:
|
|
如果程序报出如下错误:
|
|
则说明当前操作系统用户丢失了data文件夹及其内容的权限。
解决方案
- 首先,进入postgresql 的安装路径,右键data文件夹,依次点击属性——安全——编辑,你能看到所有用户或用户组的权限。
- 确保System 和 Administrator 拥有“完全控制”权限。Users 用户组默认只拥有“读取和执行”,“列出文件夹内容”和“读取”3种权限。当启动数据库提示“权限不足”时,应再添加“修改”和 “写入”。我这次出现问题就在这里,User没有修改和写入权限,添加后即可启动成功。
- 保存并尝试再次在bin 文件夹下执行:
|
|
观察PostgreSQL数据库能否启动。