5

機密データを含むテーブルがあり、データ保護ポリシーに従って、行識別子とテーブルにアクセスしたユーザーを含むデータのすべての読み取り/書き込みの記録を保持する必要があります。トリガーを使用した書き込みは問題ありませんが、トリガーはSELECTステートメントではサポートされていません。

これを行う最良の方法は何ですか?ルールを調べましたが、それらをテーブルに入れることができず、すべてのクエリをログに記録しようとしましたが、これはステートメントINSERTをログに記録していないようです。SELECTセキュリティのために理想的には、ログをデータベースのテーブル内に保持したいのですが、ファイルへのログも問題ありません。

ありがとう、
デビッド

4

2 に答える 2

3

PostgreSQL で SENTENCE LOGGING を有効にできます。

postgresql.conf で:

log_statement = 'all'                   # none, ddl, mod, all

次に、データベースを再起動すると、すべての文がログに記録されます。

于 2010-04-16T15:36:05.103 に答える
1

ログ ファイルを取得してcvslog フォーマットを使用してデータベースにインポートするか、 syslog-ngなどをセットアップしてメッセージを postgres または他のデータベースに戻すことができます。

于 2010-04-18T16:51:24.333 に答える