postgresql审计扩展
简介
postgresql审计扩展(或pgaudit)通过postgresql提供的标准日志工具提供详细的会话和/或对象审计日志。postgresql审计的目的是提供所需的工具来生成通过特定的政府、财务或iso认证审计所需的审计日志。
pgaudit项目的基础是postgresql开发社区成员所做的工作,支持postgresql的开放源代码审计功能。与pgaudit相关的源代码可以在postgresql许可下使用。
项目主页:PGAudit
PostgreSQL版本兼容性
pgAudit开发支持PostgreSQL 9.5或更高版本。
为了支持每个PostgreSQL版本中引入的新功能,pgAudit为每个PostgreSQL主要版本(目前postgresql 9.5通过postgresql 9.6)维护一个独立的分支,它将以与PostgreSQL项目类似的方式进行维护。
除了bug修复之外,postgresql 9.5还没有通过postgresql 9.6分支进行进一步的开发。新的开发(如果有的话)将严格适用于下一个未发行的postgresql版本。
pgAudit版本与postgresql主要版本有关,如下:
- pgAudit v1.1.X是用于支持postgresql 9.6的。
- pgAudit v1.0.X是用于支持postgresql 9.5的。
下载地址:Download
编译与安装
# 获取源码 tar zxvf postgresql-9.5.7.tar.gz tar zxvf pgaudit-1.0.6.tar.gz -C postgresql-9.5.7/contrib/ # 编译安装PG cd postgresql-9.5.7 ./configure make install -s # 重命名,否则后面回归测试报错 cd contrib mv pgaudit-1.0.6/ pgaudit cd pgaudit # 回归测试 make -s check # 编译安装PGAudit make install
设置
修改配置文件:
vim $PGDATA/postgres.conf shared_preload_libraries = 'pgaudit'
create extension xxx;
[postgres@localhost bin]$ ./psql psql (9.5.7) Type "help" for help. postgres=# create extension pg_audit; ERROR: could not open extension control file "/opt/develop/db/1/share/postgresql/extension/pg_audit.control": No such file or directory STATEMENT: create extension pg_audit; ERROR: could not open extension control file "/opt/develop/db/1/share/postgresql/extension/pg_audit.control": No such file or directory postgres=# create extension pgaudit; CREATE EXTENSION postgres=#
注意:pgaudit 不是 pg_audit。