Windows-7

.postgres 重啟後失去“作為服務登錄”;PostgreSQL 服務未啟動

  • January 18, 2021

我已經使用通常的安裝方法在 Windows 7 Enterprise x64 系統上安裝了 PostgreSQL 9.1 x64。這台電腦有一個 Novell Client for Windows 和一個 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 客戶端/ZENworks Adaptive Agent 有問題?是否有任何其他策略可以使 .\postgres 使用者具有“作為服務登錄”權限?

修復很簡單。轉到 postgres 服務的“登錄”選項卡,並將選擇從“此帳戶”更改為“本地系統帳戶”(我的問題中的第二個圖)。現在完美執行。

另一種方式,可能是使用者“Postgres”(使用者 Windows)的密碼已更改。因此,轉到 postgres 服務的“登錄”選項卡,以 .\postgres 身份登錄(無更改),然後重新輸入正確的密碼。

引用自:https://serverfault.com/questions/391668