全部產品
Search
文件中心

PolarDB:pgAudit

更新時間:Oct 30, 2025

PolarDB PostgreSQL版支援pgAudit外掛程式,提供產生審計日誌的能力,這些日誌通常需要符合政府、金融或ISO認證。通過審計日誌,使用者可以對資料庫進行故障分析、行為分析等操作,有效協助您擷取資料的執行情況。

適用範圍

支援的PolarDB PostgreSQL版的版本如下:

  • PostgreSQL 16(核心小版本2.0.16.9.9.0及以上)

  • PostgreSQL 14(核心小版本2.0.14.5.1.0及以上)

  • PostgreSQL 11(核心小版本2.0.11.9.25.0及以上)

說明

您可在控制台查看核心小版本號碼,也可以通過SHOW polardb_version;語句查看。如未滿足核心小版本要求,請升級核心小版本

注意事項

  • 審計日誌需通過SQL洞察功能進行查看。

  • 設定外掛程式參數需要高許可權帳號。

使用指南

安裝外掛程式

CREATE EXTENSION pgaudit;

審計讀相關操作

執行以下命令,設定審計pgaudit_testdb資料庫下的所有讀操作。

ALTER DATABASE pgaudit_testdb SET pgaudit.log = 'READ';

設定完成後,pgaudit_testdb資料庫中的所有讀操作(例如SELECT)都會被審計。INSERTUPDATE等寫操作不會被審計。

審計讀寫相關操作

執行以下命令,設定審計pgaudit_testdb資料庫下所有的讀寫操作。

ALTER DATABASE pgaudit_testdb SET pgaudit.log = 'READ,WRITE';

設定完成後,pgaudit_testdb資料庫中所有的讀寫操作(例如SELECTINSERTUPDATE)都會被審計。

關閉審計設定

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官方文檔