SV: Implementing pgaudit extension on Microsoft Windows

From: Niels Jespersen <NJN(at)dst(dot)dk>
To: 'Pavel Stehule' <pavel(dot)stehule(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, "pgsql-general(at)lists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: SV: Implementing pgaudit extension on Microsoft Windows
Date: 2019-02-12 09:34:08
Message-ID: 3967181ED595B445B1E39718204FD4BD0107BC93B7@SRVEXC5.dst.local
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Same result from

pgaudit.log = 'all'

in postgresql.conf and after both select pg_reload_conf(); and after service restart.

No entries in the log from audit.

Regards Niels

Fra: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
Sendt: 12. februar 2019 09:01
Til: Niels Jespersen <NJN(at)dst(dot)dk>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>; pgsql-general(at)lists(dot)postgresql(dot)org
Emne: Re: Implementing pgaudit extension on Microsoft Windows

út 12. 2. 2019 v 8:59 odesílatel Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com<mailto:pavel(dot)stehule(at)gmail(dot)com>> napsal:

út 12. 2. 2019 v 8:57 odesílatel Niels Jespersen <NJN(at)dst(dot)dk<mailto:NJN(at)dst(dot)dk>> napsal:
Thanks Tom

alter system set pgaudit.log = 'all'; -- Works, it results in 2019-02-12 08:51:49.109 CET [13560] LOG: parameter "pgaudit.log" changed to "all" after select pg_reload_conf();
alter system set pgaudit.logx = 'all'; -- Notice spelling error logx: Fails, it results immediately in 2019-02-12 08:53:04.412 CET [12856] ERROR: unrecognized configuration parameter "pgaudit.logx" 2019-02-12 08:53:04.412 CET [12856] STATEMENT: alter system set pgaudit.logx = 'all';

pgaudit is loaded, as show by:

localhost postgres(at)postgres#show shared_preload_libraries;
shared_preload_libraries
--------------------------
pgaudit
(1 row)

localhost postgres(at)postgres#

pgaudit.dll is locked py postgres.exe, if I try to remove it from the lib folder.

All looks normal, except no logs from auditing.

and it doesn't work too if you use postgresql.conf?

don't forget reload

select pg_reload_conf();

Pavel

Regards Niels

-----Oprindelig meddelelse-----
Fra: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us<mailto:tgl(at)sss(dot)pgh(dot)pa(dot)us>>
Sendt: 11. februar 2019 15:44
Til: Niels Jespersen <NJN(at)dst(dot)dk<mailto:NJN(at)dst(dot)dk>>
Cc: 'pgsql-general(at)lists(dot)postgresql(dot)org<mailto:pgsql-general(at)lists(dot)postgresql(dot)org>' <pgsql-general(at)lists(dot)postgresql(dot)org<mailto:pgsql-general(at)lists(dot)postgresql(dot)org>>
Emne: Re: Implementing pgaudit extension on Microsoft Windows

Niels Jespersen <NJN(at)dst(dot)dk<mailto:NJN(at)dst(dot)dk>> writes:
> Copied pgaudit.dll to C:\Program Files\PostgreSQL\11\lib Copied
> pgaudit.control and pgaudit--1.3.sql to C:\Program
> Files\PostgreSQL\11\share\extension
> Set shared_preload_libraries = 'pgaudit'
> Restart PostgreSQL
> Run "CREATE EXTENSION pgaudit;"
> alter system set pgaudit.log = 'all';
> select pg_reload_conf();

> Nothing enters the log-file from pgaudit. Creating tables (relations, sorry). Selecting from tables, nothing in the log.

Hm, what you describe above looks right.

> I can see that alter system set pgaudit.logx = 'all'; complains about "unrecognized configuration parameter", so something is known about pgaudit.

No, that means the postmaster *doesn't* have pgaudit loaded.

The fact that CREATE EXTENSION worked implies that you've got the library correctly built, so I think this must boil down to the "shared_preload_libraries" setting not having taken. You could cross-check that by seeing what "SHOW shared_preload_libraries"
prints.

I wonder if you forgot to remove the comment marker (#) on the shared_preload_libraries line?

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Pavel Stehule 2019-02-12 11:22:14 Re: Implementing pgaudit extension on Microsoft Windows
Previous Message Laurenz Albe 2019-02-12 08:20:03 Re: Blank, nullable date column rejected by psql