Обсуждение: Log Unique Queries without Params?

Поиск
Список
Период
Сортировка

Log Unique Queries without Params?

От
Chris Morris
Дата:
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.

Re: Log Unique Queries without Params?

От
Julien Rouhaud
Дата:
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
specificparameter 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
forwardedto 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.



Re: Log Unique Queries without Params?

От
Chris Morris
Дата:
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.

Re: Log Unique Queries without Params?

От
Rene Romero Benavides
Дата:
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/