我有一個包含敏感數據的表,根據數據保護策略,我們必須記錄每次讀/寫數據,包括行標識符和訪問表的用戶。寫入使用觸發器不成問題,但觸發器不支持SELECT
語句。在PostgreSQL中記錄SELECT語句8.4
這樣做的最好方法是什麼?我已經看過規則,但是我無法將它們轉到INSERT
表中,並且我嘗試過記錄每個查詢,但是這似乎沒有記錄SELECT
語句。理想情況下,爲了安全起見,我想將日誌保存在數據庫的一個表中,但記錄到文件也沒問題。
謝謝,
大衛
我有一個包含敏感數據的表,根據數據保護策略,我們必須記錄每次讀/寫數據,包括行標識符和訪問表的用戶。寫入使用觸發器不成問題,但觸發器不支持SELECT
語句。在PostgreSQL中記錄SELECT語句8.4
這樣做的最好方法是什麼?我已經看過規則,但是我無法將它們轉到INSERT
表中,並且我嘗試過記錄每個查詢,但是這似乎沒有記錄SELECT
語句。理想情況下,爲了安全起見,我想將日誌保存在數據庫的一個表中,但記錄到文件也沒問題。
謝謝,
大衛
你可以在PostgreSQL的支持句日誌記錄:
postgresql.conf中:
log_statement = 'all' # none, ddl, mod, all
然後重新啓動數據庫和所有senteces將被記錄。
您可以採取日誌文件並使用cvslog format將其導入到數據庫中,或者使用類似syslog-ng的設置將消息放回到postgres或其他數據庫中。