Thread: PostgreSQL 9.3 logging: separate log messages
Hi! What is the proper way to separate queries from other messages while logging? For example: I have 'log_min_duration_statement' parameter in postgresql.conf . Therefore I get postgresql system messages and slow queriesin one log file /var/log/postgresql/postgresql-9.3-main.log . In order to simplify further reading I'd like to get slow queries in /var/log/postgresql/postgresql-slowqueries.log and allthe rest in /var/log/postgresql/postgresql.log. I tried to implement this by means of rsyslog but didn't manage to get any decent result. Any help will be greatly appreciated :) -- Best regards, Sergey Arlashin
I am not exactly sure how to achieve just that, but have you checked out something like https://github.com/dalibo/pgbadger?
We use it here and love it. It parses out all your queries and does a great analysis on them. I have a script that emails me a report every morning.
-jason
On March 31, 2014 at 7:33:39 AM, Sergey Arlashin (sergeyarl.maillist@gmail.com) wrote:
Hi!
What is the proper way to separate queries from other messages while logging?
For example:
I have 'log_min_duration_statement' parameter in postgresql.conf . Therefore I get postgresql system messages and slow queries in one log file /var/log/postgresql/postgresql-9.3-main.log .
In order to simplify further reading I'd like to get slow queries in /var/log/postgresql/postgresql-slowqueries.log and all the rest in /var/log/postgresql/postgresql.log.
I tried to implement this by means of rsyslog but didn't manage to get any decent result.
Any help will be greatly appreciated :)
--
Best regards,
Sergey Arlashin
--
Sent via pgsql-admin mailing list (pgsql-admin@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-admin
This transmission contains confidential and privileged information intended solely for the party identified above. If you receive this message in error, you must not use it or convey it to others. Please destroy it immediately and contact the sender at (303) 386-3955 or by return e-mail to the sender.
On Tue, Apr 1, 2014 at 12:33 AM, Sergey Arlashin <sergeyarl.maillist@gmail.com> wrote:
Hi!
What is the proper way to separate queries from other messages while logging?
For example:
I have 'log_min_duration_statement' parameter in postgresql.conf . Therefore I get postgresql system messages and slow queries in one log file /var/log/postgresql/postgresql-9.3-main.log .
In order to simplify further reading I'd like to get slow queries in /var/log/postgresql/postgresql-slowqueries.log and all the rest in /var/log/postgresql/postgresql.log.
I tried to implement this by means of rsyslog but didn't manage to get any decent result.
AFAIK, there is no such mechanism which would help you log different types of messages to separate logfiles.
If you like to separate messages in the logfile - you need to either have an offline process (like perl or shell script) which would help you identify and separate the types of messages logged and generate two different logfiles.
In a much simpler way - if your only concern is to log slow queries, then reporting tools like pgbadger or pg_query_analyzer or pgsi would help you do so.
Regards,
Venkata Balaji N
Fujitsu Australia