Log Unique Queries without Params?

Started by Chris Morrisabout 6 years ago4 messagesgeneral
Jump to latest
#1Chris Morris
chris@mysteryscience.com

I have a local script I've written that will scan a log of PG queries to
extract out unique queries without any specific parameter data. For
example, if these 2 queries are actually run:

SELECT * FROM foo where bar = 1;
SELECT * FROM foo where bar = 2;

It will capture only:

SELECT * FROM foo whee bar = :id;

Are there any existing tools that do this already for me? I'm considering
setting up a server that can have logs forwarded to it and only logging
unique queries like this, but I don't want to build anything that may
already exist out there.

#2Julien Rouhaud
rjuju123@gmail.com
In reply to: Chris Morris (#1)
Re: Log Unique Queries without Params?

On Sun, Apr 12, 2020 at 6:51 AM Chris Morris <chris@mysteryscience.com> wrote:

I have a local script I've written that will scan a log of PG queries to extract out unique queries without any specific parameter data. For example, if these 2 queries are actually run:

SELECT * FROM foo where bar = 1;
SELECT * FROM foo where bar = 2;

It will capture only:

SELECT * FROM foo whee bar = :id;

Are there any existing tools that do this already for me? I'm considering setting up a server that can have logs forwarded to it and only logging unique queries like this, but I don't want to build anything that may already exist out there.

pgbadger (http://pgbadger.darold.net/#about) will do that and much
more. Depending on what you want to achieve maybe pg_stat_statements
(https://www.postgresql.org/docs/current/pgstatstatements.html) is
also an alternative.

#3Chris Morris
chris@mysteryscience.com
In reply to: Julien Rouhaud (#2)
Re: Log Unique Queries without Params?

Thx!

On Sat, Apr 11, 2020 at 11:55 PM Julien Rouhaud <rjuju123@gmail.com> wrote:

Show quoted text

On Sun, Apr 12, 2020 at 6:51 AM Chris Morris <chris@mysteryscience.com>
wrote:

I have a local script I've written that will scan a log of PG queries to

extract out unique queries without any specific parameter data. For
example, if these 2 queries are actually run:

SELECT * FROM foo where bar = 1;
SELECT * FROM foo where bar = 2;

It will capture only:

SELECT * FROM foo whee bar = :id;

Are there any existing tools that do this already for me? I'm

considering setting up a server that can have logs forwarded to it and only
logging unique queries like this, but I don't want to build anything that
may already exist out there.

pgbadger (http://pgbadger.darold.net/#about) will do that and much
more. Depending on what you want to achieve maybe pg_stat_statements
(https://www.postgresql.org/docs/current/pgstatstatements.html) is
also an alternative.

#4Rene Romero Benavides
rene.romero.b@gmail.com
In reply to: Chris Morris (#3)
Re: Log Unique Queries without Params?

Also try pg_stat_statements, does that on the fly and it will give you very
interesting execution stats too.

On Mon, Apr 13, 2020 at 12:37 AM Chris Morris <chris@mysteryscience.com>
wrote:

Thx!

On Sat, Apr 11, 2020 at 11:55 PM Julien Rouhaud <rjuju123@gmail.com>
wrote:

On Sun, Apr 12, 2020 at 6:51 AM Chris Morris <chris@mysteryscience.com>
wrote:

I have a local script I've written that will scan a log of PG queries

to extract out unique queries without any specific parameter data. For
example, if these 2 queries are actually run:

SELECT * FROM foo where bar = 1;
SELECT * FROM foo where bar = 2;

It will capture only:

SELECT * FROM foo whee bar = :id;

Are there any existing tools that do this already for me? I'm

considering setting up a server that can have logs forwarded to it and only
logging unique queries like this, but I don't want to build anything that
may already exist out there.

pgbadger (http://pgbadger.darold.net/#about) will do that and much
more. Depending on what you want to achieve maybe pg_stat_statements
(https://www.postgresql.org/docs/current/pgstatstatements.html) is
also an alternative.

--
El genio es 1% inspiración y 99% transpiración.
Thomas Alva Edison
http://pglearn.blogspot.mx/