web-dev-qa-db-ja.com

。\ postgresは、再起動後に「サービスとしてログオン」を失います。 PostgreSQLサービスが開始しない

通常のインストール方法を使用して、Windows 7 Enterprisex64システムにPostgreSQL9.1x64をインストールしました。コンピューターには、Windows用のNovellクライアントとZENworks Adaptive Agentがあり、システムのユーザー/ポリシーの一部を外部で管理していると思います。いくつかのWindowsコンピューターにpostgresをインストールしたので、このシステムの動作が異なることに少し驚いています。

コンピューターを再起動しても、PostgreSQLサービスは起動しません。サービスを開始しようとしたときの完全なメッセージは次のとおりです。

Windowsはpostgresql-x64-9.1を開始できませんでした-ローカルコンピューターでPostgreSQLサーバー9.1サービス。エラー1069:ログオンに失敗したため、サービスを開始できませんでした。 Services1

次に、そのサービスのプロパティに移動し、[ログオン]タブで、インストーラーで最初に使用されたパスワードを再入力します。

postgres service

[OK]をクリックすると、ダイアログが表示されます。

アカウント。\ postgresには、サービスとしてログオンする権利が付与されています。 Services2

いいですね。その後、PostgreSQLサービスを正しく開始して続行できます。問題は、再起動したときに、サービスを管理し、パスワードを再入力して、手動でサービスを再開する必要があることです。

「ローカルセキュリティポリシー」の「ユーザー権利の割り当て」を見ると、再起動するたびに「サービスとしてログオン」が消去され、デフォルトの「NTサービス\すべてのサービス」のみが残っていることがわかります。これは、再起動時に表示されるものです。

Log on as a service dialog

次に、このダイアログにCOMPNAME\postgresユーザーを手動で追加してサービスを開始できますが、次回の再起動時に表示されなくなります。

「サービスとしてログオン」権限がローカルセキュリティポリシーによって消去されるという問題がありますか、それともNovell Client/ZENworks Adaptive Agentに問題がありますか? 「サービスとしてログオン」権限を。\ postgresユーザーに固定するための他の戦略はありますか?

4
Mike T

修正は簡単でした。 postgresサービスの[ログオン]タブに移動し、選択を[このアカウント]から[ローカルシステムアカウント]に変更します(私の質問の2番目の図)。今は完璧に動作します。

0
Mike T

別の方法として、ユーザー「Postgres」(ユーザーWindows)のパスワードが変更されている可能性があります。そのため、postgresサービスの「ログオン」タブに移動し、。\ postgres(変更なし)としてログオンしてから、正しいパスワードを再入力します。

1
Vicky Ibrahim

これを修正する別の方法は、サービスのスタートアップの種類を自動から自動(遅延開始)に変更することのようです。これで問題が解決する理由はわかりませんが、「サービスとしてログオン」するには他のサービスの1つが必要な場合があります

0
dlemstra