Re: pgsql: Add pg_audit, an auditing extension

Поиск
Список
Период
Сортировка
От Thom Brown
Тема Re: pgsql: Add pg_audit, an auditing extension
Дата
Msg-id CAA-aLv6KExNp+fZHr0eYVXie08qGu-_8cP9Ea7Doj_a8pRTGSg@mail.gmail.com
обсуждение исходный текст
Ответ на Re: pgsql: Add pg_audit, an auditing extension  (Pavel Stehule <pavel.stehule@gmail.com>)
Ответы Re: pgsql: Add pg_audit, an auditing extension  (Pavel Stehule <pavel.stehule@gmail.com>)
Re: pgsql: Add pg_audit, an auditing extension  (Stephen Frost <sfrost@snowman.net>)
Список pgsql-committers
On 15 May 2015 at 11:20, Pavel Stehule <pavel.stehule@gmail.com> wrote:
>
>
> 2015-05-15 12:14 GMT+02:00 Thom Brown <thom@linux.com>:
>>
>> On 15 May 2015 at 10:56, Pavel Stehule <pavel.stehule@gmail.com> wrote:
>> > Hi
>> >
>> > I am testing it, and output is strange
>> >
>> > 2015-05-15 11:49:25.046 CEST pavel postgres: LOG:  AUDIT:
>> > SESSION,1,1,DDL,DROP TABLE,,,drop table foo;,<not logged>
>> > 2015-05-15 11:49:25.046 CEST pavel postgres: STATEMENT:  drop table foo;
>> > 2015-05-15 11:49:28.291 CEST pavel postgres: LOG:  AUDIT:
>> > SESSION,2,1,DDL,CREATE TABLE,,,"CREATE TABLE foo(a int, b int);",<not
>> > logged>
>> > 2015-05-15 11:49:28.291 CEST pavel postgres: STATEMENT:  CREATE TABLE
>> > foo(a
>> > int, b int);
>> > 2015-05-15 11:49:31.486 CEST pavel postgres: LOG:  AUDIT:
>> > SESSION,3,1,WRITE,INSERT,,,"INSERT INTO foo VALUES(10,20);",<not logged>
>> > 2015-05-15 11:49:31.486 CEST pavel postgres: STATEMENT:  INSERT INTO foo
>> > VALUES(10,20);
>> > 2015-05-15 11:49:33.446 CEST pavel postgres: LOG:  AUDIT:
>> > SESSION,4,1,READ,SELECT,,,SELECT * FROM foo WHERE a = 10;,<not logged>
>> > 2015-05-15 11:49:33.446 CEST pavel postgres: STATEMENT:  SELECT * FROM
>> > foo
>> > WHERE a = 10;
>> >
>> > I am missing object name, unexpected string <not logged>
>> >
>> > configuration:
>> > pg_audit.log = 'read, write, ddl'
>>
>> From what I can tell, that last value should be for parameters.  You'd
>> need to set pg_audit.log_parameter to on, and then prepare and execute
>> a statement with a parameter.
>
>
> yes
>
> 2015-05-15 12:18:39.545 CEST pavel postgres: LOG:  AUDIT:
> SESSION,1,1,READ,PREPARE,,,prepare x(int) as select * from foo where a =
> $1;,<none>
> 2015-05-15 12:18:39.545 CEST pavel postgres: STATEMENT:  prepare x(int) as
> select * from foo where a = $1;
> 2015-05-15 12:18:48.065 CEST pavel postgres: LOG:  AUDIT:
> SESSION,2,1,READ,SELECT,,,prepare x(int) as select * from foo where a =
> $1;,10
> 2015-05-15 12:18:48.065 CEST pavel postgres: STATEMENT:  execute x(10);
>
> but when pg_audit.log_parameter is off, then this value should be empty

If it were empty, it would then be indistinguishable from a statement
executed with a single parameter passed as an empty string.

Speaking of which, I notice that nulls show up as nothing too.  How
does one distinguish between an empty string and a null in the logs?

--
Thom


В списке pgsql-committers по дате отправления:

Предыдущее
От: Pavel Stehule
Дата:
Сообщение: Re: pgsql: Add pg_audit, an auditing extension
Следующее
От: Pavel Stehule
Дата:
Сообщение: Re: pgsql: Add pg_audit, an auditing extension