Thread: Equivalent of Oracle's per-session statistics (v$client_stats)?

Equivalent of Oracle's per-session statistics (v$client_stats)?

From
Frits Jalvingh
Date:
Hello list,

Oracle has a way to get per-session statistics. You identify a session using a call to dbms_session.set_identifier('xxx'), then you enable statistics using dbms_monitor.client_id_stat_enable('xxx').
After this you do normal database statements.
Before you close the connection you can read a view, v$client_stats, which now contains all kinds of metrics specifically to your connection's use. Metrics that can be read are things like the number of logical blocks read, physical blocks read etc.
Using this mechanism you can show exactly how "bad" for instance a screen from an application behaves, by finding out how much database I/O it does.

I was wondering whether Postgresql has something like this? I looked at the pg_stats tables but I do not see anything that can be related to the "current session" or "current connection".

Thanks for your time.

Regards,

Frits

Re: Equivalent of Oracle's per-session statistics (v$client_stats)?

From
Magnus Hagander
Date:


On Mar 22, 2016 6:14 PM, "Frits Jalvingh" <jal@etc.to> wrote:
>
> Hello list,
>
> Oracle has a way to get per-session statistics. You identify a session using a call to dbms_session.set_identifier('xxx'), then you enable statistics using dbms_monitor.client_id_stat_enable('xxx').
> After this you do normal database statements.
> Before you close the connection you can read a view, v$client_stats, which now contains all kinds of metrics specifically to your connection's use. Metrics that can be read are things like the number of logical blocks read, physical blocks read etc.
> Using this mechanism you can show exactly how "bad" for instance a screen from an application behaves, by finding out how much database I/O it does.
>
> I was wondering whether Postgresql has something like this? I looked at the pg_stats tables but I do not see anything that can be related to the "current session" or "current connection".
>

There aren't really any on a session basis but there are per transaction. Take a look at pg_stat_xact_*.

/Magnus