Windows 10 中的 PostgreSQL 安装失败(icacls 错误/访问被拒绝)

Windows 10 中的 PostgreSQL 安装失败(icacls 错误/访问被拒绝)

尝试在 Windows 10 计算机 (x64) 上安装 PostgreSQL 时出现以下错误。有人能帮我解决问题吗?非常感谢!错误截图如下:

https://i.stack.imgur.com/bvOGU.png

答案1

我尝试在 上安装postgresql-10.10-1-windows-x64和。得到了类似的错误。postgresql-11.5-1-windows-x64Windows 10 x64

尝试postgresql-11.2-1-windows-x64从以下官方链接下载: https://get.enterprisedb.com/postgresql/postgresql-11.2-1-windows-x64.exe

希望这可以帮助。

答案2

我也遇到过这种情况。结果我无法使用域用户(即使它是本地计算机上的管理员)。我必须以本地管理员用户身份登录,然后安装才能成功。这很奇怪。

答案3

我尝试在 Windows 10 x64 上安装 Postgresql-9.5.19.1-windows-x64 版本(从官方页面下载),但出现了同样的错误。我尝试以管理员权限执行它,授予临时文件夹权限,将临时文件夹移动到另一个位置,但没有任何效果...

对我来说,解决方案是使用 9.5 的不同版本:PostgreSQL-9.5.2-1-windows-x64。

答案4

如果您在安装后或重新安装 postgres 后遇到权限问题,您可以在这里找到帮助。

确保为您拥有的数据文件夹安装了正确的版本,您可以在名为 PG_VERSION 的文件下检查该数据文件夹中的版本。

  1. 使用随机数据目录安装 postgres。如果它不适用于旧数据目录,并且您收到有关权限或 icacls 之类的错误,请选择一个新文件夹并继续阅读本文。
  2. 转到注册表编辑器,然后找到类似 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\postgresql-x64-11<- 您安装的版本,更改 imagepath 以反映数据目录 "C:\Program Files\PostgreSQL\11\bin\pg_ctl.exe" runservice -N "postgresql-x64-11" -D "{DATA_DIRECTORY like d:/db}" -w
  3. 此时服务可能还没有启动,但请检查一下,以防它在这个阶段奇迹般地工作。它不会记录任何内容或抛出任何错误,所以不用担心,如果你做的所有事情都正确,它就会工作。
  4. 右键单击数据文件夹,然后转到属性->安全选项卡->高级按钮
  5. 勾选底部的复选框“替换所有子对象 perm[..]”
  6. 按“添加”,select principal然后在顶部的大框中输入内容。NETWORK SERVICE 为了确保它有效,请尝试按“检查名称”,它应该有下划线。然后按“确定”,为其设置所有权限。然后“确定”,“确定”,“确定”。您应该保留文件属性以批准所有内容。

如果步骤 4-6 抛出权限错误,请阅读步骤 7 /

  1. 尝试运行 postgres。如果出于某种原因您此时无法运行 postgres。然后以管理员身份运行命令行,并输入icacls "{DATA_FOLDER}" /reset /T此命令将清除所有权限,无论它们是什么。Postgres 安装应该会这样做,但它在某些版本中存在错误。就像我的一样。
  2. 现在您可以尝试运行 postgres 服务。
  3. 此时 PG Admin 无法正常工作,但我设法使用 psql.exe 登录,并转储了所有数据。pg_dump -U {USERNAME} {DATABASE} > {FILENAME.EXT}然后我卸载了 postgres,重新启动了 PC,然后安装了最新版本,并恢复了转储。

相关内容