审计pgaudit插件,不是PostgreSQL自带的,需另外下载安装
GitHub - pgaudit/pgaudit: PostgreSQL Audit Extension 选择版本编译:
到pgaudit目录下执行:
make install USE_PGXS=1 PG_CONFIG=/mnt/disk01/hadb/postgresql/bin/pg_config
就会安装到/mnt/disk01/hadb/postgresql中,这个安装是可移植的,安装完直接复制postgresql作为发布包。
修改 postgresql.conf 中的 shared_preload_libraries,添加 pgaudit,pg_stat_statements:
shared_preload_libraries = 'pgaudit,pg_stat_statements'
使用:
create extension pgaudit;
在postgresql.conf里设置:
pgaudit.log = 'write'
pgaudit.log_catalog = 'off'
pgaudit.log_parameter = 'on'
pgaudit.log_rows = 'on'
然后执行SQL,就会在PG的运行日志里记录SQL(注意如果只是在会话里设置了这些参数,那么只会记录这个会话的里执行的SQL)。