使用 SIS 执行 postgres db init 的批处理文件给出权限被拒绝

2023-12-28

跟随我的上一个问题 https://stackoverflow.com/questions/30924913/how-to-install-postgres-with-nsis-with-all-parameters我现在尝试通过 NSIS 代码执行批处理文件,以便在解压缩后成功设置 postgres 安装。批处理文件包含初始化数据库的命令,但由于权限限制而失败。我使用的是 Win7 x64 电脑。我的用户帐户是管理员,我使用以下命令启动Setup.exeRun as adminitrator选项。这是我得到的错误:

C:\Program Files (x86)\Poker Assistant>cd "pgsql\bin" C:\Program Files (x86)\Poker Assistant\pgsql\bin>initdb -U postgres -A 密码 --pwfile "pwd.txt" -E utf8 -D "..\data" 属于此数据库系统的文件将由用户“Mandarinite”拥有。

该用户还必须拥有服务器进程。

数据库集群将使用区域设置进行初始化 “Bulgarian_Bulgaria.1251”。 initdb:找不到合适的文本搜索 区域设置“Bulgarian_ Bulgaria.1251”的配置 默认文本 搜索配置将设置为“简单”。

数据页校验和被禁用。

正在创建目录../data ... initdb:无法创建目录 “../data”:权限被拒绝

EDIT:在对安装程序进行了更多修改之后,我找到了问题的根源。当安装位于 Program Files 文件夹中时,我无法以任何方式执行以下命令:

initdb -U postgres -A password --pwfile "pwd.txt" -E utf8 -D "..\data"

我尝试从 .bat 文件。我尝试从 .cmd 文件。我从命令提示符手动尝试。我尝试以管理员身份启动。所有的尝试都导致了Permission denied error

EDIT2:我没有找到任何方法来解决这个问题,所以我做了一个解决方法。现在我分发 postgres,其数据目录已经初始化。然后我只需要创建服务并启动它。


我刚刚意识到这里的问题是什么。

如果你跑postgres作为管理员,它使用特殊的 Windows API 调用删除权限(获取受限令牌),以便它在没有完全管理员权限的情况下运行以确保安全。看Windows 上的 PostgreSQL 实用程序和受限令牌 http://michael.otacoo.com/postgresql-2/postgres-utilities-restricted-token/.

我怀疑这里发生的事情是这样的initdb没有创建目标数据目录并设置其权限before这样做,所以它会删除权限,然后没有创建数据目录的权限。

要解决这个问题,只需md ..\data创建空目录,然后使用icacls.exe在尝试之前授予适当的权限initdb。或者,更好的是,将其存储在更合适的地方,例如%PROGRAMDATA%\MyApp\pgdata管他呢;应用程序数据应not go in %PROGRAMFILES%.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 SIS 执行 postgres db init 的批处理文件给出权限被拒绝 的相关文章

随机推荐

  • 用于具有 REST API 身份验证的 WebRTC 的 TURN 服务器

    我正在尝试为 webRTC 设置 rfc5766 turn server TURN 服务器here https code google com p rfc5766 turn server 我能够使用 TURN 服务器成功转发我的视频turn
  • Django 验证 ImageField 尺寸等

    我有一个自定义的清洁方法如下 def clean image self image self cleaned data image if image from django core files images import get imag
  • 没有找到现成的 kinect?

    我是 Kinect 编程的初学者 我已经安装了windows sdk 我尝试在开发人员中运行示例 然而 它说 没有找到准备好的kinect 我知道知道为什么 有人能帮我解决这个问题吗 多谢 Yuanhui 我也是初学者 其实我昨天刚拿到ki
  • ServiceStack“新”api 和异步等待

    服务堆栈版本 3 我很熟悉https github com ServiceStack ServiceStack wiki New API https github com ServiceStack ServiceStack wiki New
  • jsPlumb:拖动新连接应删除现有连接

    使用 jsPlumb 我设法进行了以下设置 有多个节点 其作用类似于特殊类型流程图中的节点 每个节点都有一个可以将连接丢弃到的目标 每个节点都有零个 一个或多个出口 每个出口作为jsPlumb源 最多允许有1个连接 先举个小例子 http
  • Internet Explorer innerHTML 输出不带引号的属性

    我正在使用 IE 8 并尝试设置元素 Id 属性 然后我将该元素附加到父元素并检查它的innerHTML 我看到的问题是 id 属性缺少双引号 起初我认为这可能是因为我使用了 setAttribute 属性 而这在 IE 8 中可能有问题
  • Git Pull:更改身份验证

    我对 git 很陌生 我在服务器 A 上设置了一个存储库 其中通过 ssh rsa 密钥进行访问 我在那里有一些用户 包括我自己 现在我做git clone在我的本地计算机上获取本地副本 进行更改 然后push origin master
  • html 在所有设备上保持相同的字符大小

    我用几个输入按钮做了一个关于 html 的练习 http bullmalay appspot com http bullmalay appspot com 我在手机上访问它 但我发现文字尺寸真的很小 我认为原因在于分辨率 谁能帮我调整一下文
  • Java 中的连接字符串是否总是会导致在内存中创建新字符串?

    我有一条很长的字符串 不适合屏幕的宽度 例如 String longString This string is very long It does not fit the width of the screen So you have to
  • 无法使用带有节点的express使用res.send()发送数字

    我正在尝试使用节点中的 Express 获得 imdb 评级 但我很挣扎 电影 json id 3962210 order 4 361276149749756 1988 fields year 2015 title David and Go
  • 单击时导航项标题消失

    我创建了带有导航视图的抽屉 我有正在调用其他活动的导航项目 问题是当我单击导航项时 其他活动启动 如果我返回主活动并打开抽屉 则单击的导航项的标题消失 只有我可以看到该项目的图标 code public class MainActivity
  • 带有文本、复选框、选择的 jQuery 表过滤器

    需要使用文本搜索 复选框和选择从表外部过滤表 PicNet 表过滤器 http www picnet com au resources tablefilter demo htmfor jQuery 适用于搜索和使用表外的复选框 尽管我找不到
  • Twitter Bootstrap - 100% 高度

    我正在尝试使用 twitter bootstrap 框架为我的应用程序设计一个管理面板 但我无法让我的布局正常工作 I was inspired by this design It would be a two column layout
  • 如何将不同的 DataFrame 组合成一个分组条形图

    我正在尝试复制答案this https stackoverflow com questions 65052443 creating a grouped bar plot with seaborn问题 我看不出我在做什么有什么不同 我的输出
  • 无法从 Linux 连接到 SQL Server

    我正在尝试连接到 CentOS 5 8 上的 SQL Server 2008 我正在使用 unixODBC 2 3 0 和 SQL Server ODBC 驱动程序 www microsoft com en us download deta
  • 链接描述文件中的 KEEP 是什么意思?

    The LD手册 http ftp gnu org old gnu Manuals ld 2 9 1 html mono ld html SEC2没有解释什么KEEP命令执行 下面是第三方链接描述文件的一个片段 其特点是KEEP 什么是KE
  • 在php中组合两个(或更多..)多维数组

    我有一个使用不同参数运行多次的查询 我正在使用 xml 解析器将结果返回给 jQuery 我似乎无法找到一种方法来组合第一个 节点 上的结果而不覆盖第一个条目 简化的代码示例 temp1 returnArray 0 temp2 return
  • 如何像 DevTools 那样突出显示 Chrome 扩展中的元素?

    我有兴趣创建一个 Chrome 扩展程序 它列出了网页上菜单中具有 id 属性的所有元素 然后 当用户单击菜单中的元素时 网页上相应的元素就会突出显示 当您右键单击并检查某个元素时 我看到 Chrome 开发工具会突出显示该元素 我很好奇是
  • uint32_t 和 uint8_t[4] 未定义行为的联合? [复制]

    这个问题在这里已经有答案了 在评论中这个答案 https stackoverflow com a 8568531 1025391据说使用如下联合将整数分割成字节将是未定义的行为 该位置给出的代码与此相似但不完全相同 如果我更改了代码的未定义
  • 使用 SIS 执行 postgres db init 的批处理文件给出权限被拒绝

    跟随我的上一个问题 https stackoverflow com questions 30924913 how to install postgres with nsis with all parameters我现在尝试通过 NSIS 代