Hello,
I had installed PostgreSQL 11.9 and pgaudit 1.3.2. updated shared_preload_libraries, restarted PostgreSQL, created an extension for pgaudit and set parameters for pgaudit in postgresql.conf. But surprisingly pgaudit.log is not getting picked up and neither able to set it manually.
postgres>pwd
/usr/pgsql-11/lib
postgres>ls -ltr *pgaudit*
-rwxr-xr-x. 1 root root 33088 Oct 6 10:48 pgaudit.so
postgres>
postgres>pwd
/usr/pgsql-11/share/extension
postgres>ls -ltr *pgaudit*
-rw-r--r--. 1 root root 145 Oct 6 10:48 pgaudit.control
-rw-r--r--. 1 root root 615 Oct 6 10:48 pgaudit--1.3.2.sql
-rw-r--r--. 1 root root 175 Oct 6 10:48 pgaudit--1.3--1.3.1.sql
-rw-r--r--. 1 root root 177 Oct 6 10:48 pgaudit--1.3.1--1.3.2.sql
postgres>
postgres=# create extension pgaudit;
CREATE EXTENSION
postgres=# select * from pg_Extension;
extname | extowner | extnamespace | extrelocatable | extversion | extconfig | extcondition
---------+----------+--------------+----------------+------------+-----------+--------------
plpgsql | 10 | 11 | f | 1.0 | |
pgaudit | 10 | 2200 | t | 1.3.2 | |
(2 rows)
postgres=# select name, setting, source from pg_settings where name like '%audit%';
name | setting | source
----------------------------+---------+--------------------
pgaudit.log | none | default
pgaudit.log_catalog | on | configuration file
pgaudit.log_client | on | configuration file
pgaudit.log_level | log | default
pgaudit.log_parameter | on | configuration file
pgaudit.log_relation | off | default
pgaudit.log_statement_once | off | default
pgaudit.role | | default
(8 rows)
But I have below parameters in postgresql.conf.. not sure why its not picking up pgaudit.log value.
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
log_line_prefix = '%m %u %d [%p]: '
shared_preload_libraries = 'pgaudit' # (change requires restart)
pgaudit.log = 'write, role, ddl, misc_set'
pgaudit.log_catalog = on
pgaudit.log_client = on
pgaudit.log_parameter = on
Thanks,
Dhiraam.