PolarDB PostgreSQL版支援pgAudit外掛程式,提供產生審計日誌的能力,這些日誌通常需要符合政府、金融或ISO認證。通過審計日誌,可以對資料庫進行故障分析、行為分析等操作,有效協助您擷取資料的執行情況。
前提條件
支援的PolarDB PostgreSQL版的版本如下:
PostgreSQL 14(核心小版本14.5.1.0及以上)
PostgreSQL 11(核心小版本1.1.25及以上)
說明
您可通過如下語句查看PolarDB PostgreSQL版的核心小版本的版本號碼:
PostgreSQL 14
SELECT version();
PostgreSQL 11
SHOW polar_version;
注意事項
審計日誌需要通過SQL洞察功能查看。
pgaudit
外掛程式只提供過濾當前已有審計日誌的功能。需要使用高許可權帳號設定外掛程式參數。
使用指南
安裝外掛程式
CREATE EXTENSION pgaudit;
審計讀相關操作
執行以下命令,設定審計pgaudit_testdb
資料庫下的所有讀操作。
ALTER DATABASE pgaudit_testdb SET pgaudit.log = 'READ';
設定完成後,pgaudit_testdb
資料庫中的所有讀操作(例如SELECT
)都會被審計。INSERT
、UPDATE
等寫操作不會被審計。
審計讀寫相關操作
執行以下命令,設定審計pgaudit_testdb
資料庫下所有的讀寫操作。
ALTER DATABASE pgaudit_testdb SET pgaudit.log = 'READ,WRITE';
設定完成後,pgaudit_testdb
資料庫中所有的讀寫操作(例如SELECT
、INSERT
、UPDATE
)都會被審計。
關閉審計設定
ALTER DATABASE pgaudit_testdb SET pgaudit.log = 'NONE';
審計指定對象的相關操作
執行以下命令,設定審計pgaudit_testdb
資料庫所使用的使用者,並建立一張表,將該表的所有許可權賦予該使用者。
CREATE USER audit_role;
ALTER DATABASE pgaudit_testdb SET pgaudit.role = 'audit_role';
CREATE TABLE test_audit (id INT);
GRANT ALL ON test_audit TO audit_role;
設定完成後,pgaudit_testdb
資料庫中只有對test_audit
表的所有操作會被審計,對其他表的操作不會被審計。
卸載外掛程式
DROP EXTENSION pgaudit;
相關參考
pgAudit的詳細說明,請參考pgAudit官方文檔。