Thread: Logging

Logging

From
Andrew Bartley
Date:
Hi all,

Can someone please tell me how to log the values being inserted in this example..

2018-06-12 22:31:49 UTC-5b2049d4.434ac-STATEMENT:  insert into "api_consumers" ("consumer_id", "create_datetime") values ($1, $2).

I have tried many different logging options and combinations.  

Thanks

Andrew Bartley






Re: Logging

From
Laurenz Albe
Date:
Andrew Bartley wrote:
> Can someone please tell me how to log the values being inserted in this example..
> 
> 2018-06-12 22:31:49 UTC-5b2049d4.434ac-STATEMENT:  insert into "api_consumers" ("consumer_id", "create_datetime")
values($1, $2).
 
> 
> I have tried many different logging options and combinations. 

That should automatically be logged as a DETAIL message.

log_min_duration_statement = 0
log_min_error_statement = log or better
log_min_messages = log or better

That should do the trick.

Yours,
Laurenz Albe
-- 
Cybertec | https://www.cybertec-postgresql.com


Re: Logging

From
Andrew Bartley
Date:


On Wed, 13 Jun 2018 at 12:43 Laurenz Albe <laurenz.albe@cybertec.at> wrote:
Andrew Bartley wrote:
> Can someone please tell me how to log the values being inserted in this example..
>
> 2018-06-12 22:31:49 UTC-5b2049d4.434ac-STATEMENT:  insert into "api_consumers" ("consumer_id", "create_datetime") values ($1, $2).
>
> I have tried many different logging options and combinations.

That should automatically be logged as a DETAIL message.

log_min_duration_statement = 0
log_min_error_statement = log or better
log_min_messages = log or better

That should do the trick.

Yours,
Laurenz Albe
--
Cybertec | https://www.cybertec-postgresql.com
Thanks for the reply Laurenz,


Current settings

"PostgreSQL 9.6.7, compiled by Visual C++ build 1800, 64-bit"
Azure managed instance 


log_min_duration_statement -1
log_min_error_statement DEBUG2
log_min_messages DEBUG2
log_statement ALL
log_error_verbosity VERBOSE

Still no joy.

Thanks Andrew

Re: Logging

From
"David G. Johnston"
Date:
On Tuesday, June 12, 2018, Andrew Bartley <ambartley@gmail.com> wrote:


On Wed, 13 Jun 2018 at 12:43 Laurenz Albe <laurenz.albe@cybertec.at> wrote:

log_min_duration_statement = 0
[...] 

log_min_duration_statement -1

You've disabled statement logging altogether.  The zero value you were directed to use is what causes everything to be logged.

David J.


Re: Logging

From
Andrew Bartley
Date:
Ok, thanks.   will try

On Wed, 13 Jun 2018 at 13:25 David G. Johnston <david.g.johnston@gmail.com> wrote:
On Tuesday, June 12, 2018, Andrew Bartley <ambartley@gmail.com> wrote:
On Wed, 13 Jun 2018 at 12:43 Laurenz Albe <laurenz.albe@cybertec.at> wrote:

log_min_duration_statement = 0
[...] 

log_min_duration_statement -1

You've disabled statement logging altogether.  The zero value you were directed to use is what causes everything to be logged.

David J.


Re: Logging

From
Adrian Klaver
Date:
On 06/12/2018 08:25 PM, David G. Johnston wrote:
> On Tuesday, June 12, 2018, Andrew Bartley <ambartley@gmail.com 
> <mailto:ambartley@gmail.com>> wrote:
> 
> 
> 
>     On Wed, 13 Jun 2018 at 12:43 Laurenz Albe <laurenz.albe@cybertec.at
>     <mailto:laurenz.albe@cybertec.at>> wrote:
> 
> 
>         log_min_duration_statement = 0
> 
> [...]
> 
> 
>     log_min_duration_statement -1
> 
> 
> You've disabled statement logging altogether.  The zero value you were 
> directed to use is what causes everything to be logged.

Actually no:

https://www.postgresql.org/docs/10/static/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHEN

log_min_duration_statement (integer)

"... Setting this to zero prints all statement durations. Minus-one (the 
default) disables logging statement durations.  ..."

"

So -1 only affects logging statements relative to duration.

If you have log_statements set then you will still get statements logged 
if you have log_min_duration_statement = -1 :

Note

When using this option together with log_statement, the text of 
statements that are logged because of log_statement will not be repeated 
in the duration log message.
"

This is how I have my logging setup, log_min_duration_statement = -1
and log_statements = 'mod' and I see statements in the logs.

> 
> David J.
> 
> 


-- 
Adrian Klaver
adrian.klaver@aklaver.com


Re: Logging

From
Andrew Bartley
Date:
Thanks All,

It seems that the related DETAIL message appears if the query is successful.  On error the DETAIL log line is missing...   This makes debugging difficult, considering the insert is coming from Dreamfactory via a rest POST.   

I am finding it very difficult navigating my way through the brave new world of SAS and Blackbox type applications....  Maybe 32 years as a database programmer is just too long.

Thanks 

Andrew


   

On Wed, 13 Jun 2018 at 14:12 Adrian Klaver <adrian.klaver@aklaver.com> wrote:
On 06/12/2018 08:25 PM, David G. Johnston wrote:
> On Tuesday, June 12, 2018, Andrew Bartley <ambartley@gmail.com
> <mailto:ambartley@gmail.com>> wrote:
>
>
>
>     On Wed, 13 Jun 2018 at 12:43 Laurenz Albe <laurenz.albe@cybertec.at
>     <mailto:laurenz.albe@cybertec.at>> wrote:
>
>
>         log_min_duration_statement = 0
>
> [...]
>
>
>     log_min_duration_statement -1
>
>
> You've disabled statement logging altogether.  The zero value you were
> directed to use is what causes everything to be logged.

Actually no:

https://www.postgresql.org/docs/10/static/runtime-config-logging.html#RUNTIME-CONFIG-LOGGING-WHEN

log_min_duration_statement (integer)

"... Setting this to zero prints all statement durations. Minus-one (the
default) disables logging statement durations.  ..."

"

So -1 only affects logging statements relative to duration.

If you have log_statements set then you will still get statements logged
if you have log_min_duration_statement = -1 :

Note

When using this option together with log_statement, the text of
statements that are logged because of log_statement will not be repeated
in the duration log message.
"

This is how I have my logging setup, log_min_duration_statement = -1
and log_statements = 'mod' and I see statements in the logs.

>
> David J.
>
>


--
Adrian Klaver
adrian.klaver@aklaver.com