.\postgres 在重启后丢失“作为服务登录”;PostgreSQL 服务无法启动

.\postgres 在重启后丢失“作为服务登录”;PostgreSQL 服务无法启动

我使用常规安装方法在 Windows 7 Enterprise x64 系统上安装了 PostgreSQL 9.1 x64。该计算机有一个适用于 Windows 的 Novell Client 和一个 ZENworks Adaptive Agent,我猜想它们从外部管理系统的一些用户/策略。我在几台 Windows 计算机上安装了 postgres,因此我对这个系统的行为不同感到有点惊讶。

计算机重新启动时,PostgreSQL 服务未启动。尝试启动服务的完整消息如下:

Windows 无法在本地计算机上启动 postgresql-x64-9.1 - PostgreSQL Server 9.1 服务。错误 1069:由于登录失败,服务未启动。 服务1

然后我可以转到该服务的属性,在“登录”选项卡中,重新输入安装程序最初使用的密码。

postgres 服务

当我单击“确定”时,会出现一个对话框:

帐户 .\postgres 已被授予“作为服务登录”权限。 服务2

听起来不错。然后我可以正确启动 PostgreSQL 服务并继续。问题是当我重新启动时,我需要去管理服务,重新输入密码并再次手动启动服务。

查看“本地安全策略”中的“用户权限分配”,我发现每次重启后“以服务身份登录”都会被清除,只留下默认的“NT SERVICE\ALL SERVICES”。这是我在全新重启时看到的内容:

作为服务登录对话框

然后我可以手动将COMPNAME\postgres用户添加到此对话框中以启动服务,但它会在下次重新启动时消失。

问题是“以服务身份登录”权限被本地安全策略抹去了,还是 Novell Client/ZENworks Adaptive Agent 出了问题?有没有其他策略可以让 .\postgres 用户保留“以服务身份登录”权限?

答案1

另一种方式是,用户“Postgres”(用户 Windows)的密码可能已更改。因此,转到 postgres 服务的“登录”选项卡,以 .\postgres 身份登录(无更改),然后重新输入正确的密码。

答案2

修复很简单。转到 postgres 服务的“登录”选项卡,将选择从“此帐户”更改为“本地系统帐户”(我的问题中的第二个图)。现在运行正常。

答案3

解决此问题的另一种方法似乎是将服务的启动类型从自动的自动(延迟启动)。我不确定为什么这可以解决问题,但可能需要其他服务之一才能“作为服务登录”

相关内容