Log Unique Queries without Params?
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.
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.
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.
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/