Re: Inconsistency between pg_stat_activity and log_duration

From: Tatsuo Ishii <ishii(at)postgresql(dot)org>
To: amit(dot)kapila16(at)gmail(dot)com
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Inconsistency between pg_stat_activity and log_duration
Date: 2014-02-07 06:16:22
Message-ID: 20140207.151622.517892175662113916.t-ishii@sraoss.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> I think that is the probable reason for the above mentioned behaviour.
> As I understand here, the problem is that 'state' of backend is shown as
> active along with 'query' which according to docs (If state is active this field
> shows the currently executing query.) means that query is executing.
>
> This statement holds true for simple query but for prepared statement
> (using message 'P', 'B', 'D', 'E', 'S') it might not be completely right as
> we update the state only after sync message which can confuse some
> users as you have stated. However I don't think it is good idea to change
> state in between different messages or at least with the current set of
> states.
>
>> I think this inconsistency is not very intutive to users...
>
> Do you think we can fix it in any easy way, or might be updating docs
> can make users understand the current situation better?

One idea is, calling pgstat_report_activity(STATE_IDLE) in
exec_execute_message() of postgres.c. The function has already called
pgstat_report_activity(STATE_RUNNING) which shows "active" state in
pg_stat_actviity view. So why cann't we call
pgstat_report_activity(STATE_IDLE) here.

Somebody might claim that "idle" is a transaction state term. In the
case, I propose to add new state name, say "finished". So above
proposal would calling pgstat_report_activity(STATE_FINISHED) instead.

Best regards,
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Kapila 2014-02-07 07:05:05 Re: Inconsistency between pg_stat_activity and log_duration
Previous Message Amit Langote 2014-02-07 06:15:22 Typo in a comment?