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

Started by Frits Jalvinghabout 10 years ago2 messagesgeneral
Jump to latest

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

#2Magnus Hagander
magnus@hagander.net
In reply to: Frits Jalvingh (#1)
Re: Equivalent of Oracle's per-session statistics (v$client_stats)?

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