- 印刷する
Microsoft Windows系PostgreSQLの前提条件
- 印刷する
Windows系OSで動作するPostgreSQLには、以下の前提条件があります。
※ID管理が〇になっている項目は、ID管理の機能の前提条件になります。ログが〇になっている項目は、アクセスログ管理のログ自動収集機能、または、ログ自動収集機能で収集したアクセスログ(ログインログ・ログアウトログ・suログ・ログイン失敗ログ)で出力するレポートの前提条件になります。
No | 制約 | 制約機能 | |
ID | ログ | ||
1 | PostgreSQL監査ログがWindowsイベントログ(アプリケーション)に出力されている事。 | - | 〇 |
2 | Windows イベントログ(アプリケーション)のローテート設定が下記どちらかの条件を満たしている事。
※Windows Server 2019で「イベントを上書きしないでログをアーカイブする」の設定をした場合に、イベントログが「最大ログサイズ」になってもアーカイブされず、新たなイベントログが記録されないという事象が確認されています。該当のOSで「イベントを上書きしないでログをアーカイブする」の設定をした場合は、正常にイベントログがアーカイブされる事を確認してください。 | - | 〇 |
3 | Windowsイベントログ(アプリケーション)のローテート設定が「必要に応じてイベントを上書きする(最も古いイベントから)」になっている場合は、下記の設定になっている事。
| - | 〇 |
4 | Windowsイベントログ(アプリケーション)のローテート設定が「イベントを上書きしないでログをアーカイブする」になっている場合は、下記の設定になっている事。
| - | 〇 |
5 | Web Consoleで文字コードをUTF-8として表示しているため、下記のいずれかの設定がされている事。
| 〇 | - |
PostgreSQL監査ログの出力設定(Windows)
PostgreSQL監査ログをWindows イベントログ(アプリケーション)に出力させます。
また、PostgreSQLへのログイン・ログアウトについて、監査ログを出力する設定が必要です。
1.PostgreSQLの設定ファイル<postgresql.conf>を開き、以下の内容を設定してください。
No | 変更が必要な設定項目 | 変更内容 |
1 | log_destination | 「'eventlog'」固定です。 (※1) |
2 | log_connections | 「on」固定です。 (※1) |
3 | log_disconnections | 「on」固定です。 (※1) |
4 | event_source | 「#event_source = 'PostgreSQL'」固定です。 |
5 | lc_messages | 「lc_messages = 'C'」または「lc_messages = 'en_US.UTF-8'」固定です。 |
(※1) 設定項目先頭の「#」は削除し、設定を有効にします。
2.コマンドプロンプトから下記を実行し、イベントソース名をWindows OSのevent logライブラリに登録します。
設定項目event_sourceがデフォルト値から変更されており、手順1で「#event_source = 'PostgreSQL'」に設定を戻した場合のみ、PostgreSQLをインストールしたアカウントで以下のコマンドを実行してください。
regsvr32 "<pgevent.dllのフルパス>" |
インストールフォルダが「C:\Program Files\PostgreSQL\12」の場合のコマンド例
regsvr32 "C:\Program Files\PostgreSQL\12\lib\pgevent.dll" |
3.PostgreSQLのサービス再起動をします。「スタート」-「管理ツール」-「サービス」からPostgreSQLサービスを再起動してください。
サービス名が「postgresql-x64-12」の場合の画面例