Re: is pg_stat_activity "transactional"? How fast does it update?

From: Dominique Devienne <ddevienne(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: is pg_stat_activity "transactional"? How fast does it update?
Date: 2025-06-10 15:46:50
Message-ID: CAFCRh--LyhHAOYKWE+NDCN8cB4pGiO82p1Ye9pT9T7fv7i2BfA@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Tue, Jun 10, 2025 at 4:27 PM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Dominique Devienne <ddevienne(at)gmail(dot)com> writes:
> > So when and how fast does pg_stat_activity update, in the face of a
> > PQfinish?
>
> The shared state underlying pg_stat_activity is updated
> immediately when something changes. However ...
>
> PQfinish is asynchronous: it sends a "goodbye" message and then
> closes the connection without waiting for a response. So
> depending on system load, the associated backend could still be
> alive for some milliseconds. There might be other client
> libraries that do that differently.
>
> Another thing that might be biting you is that a backend inspecting
> pg_stat_activity() takes a snapshot of the view's contents and then
> holds onto that snapshot until end of transaction. You can get
> around that with pg_stat_clear_snapshot().

Many thanks Tom. Didn't know either of those facts. --DD

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Adrian Klaver 2025-06-10 16:03:48 Re: is pg_stat_activity "transactional"? How fast does it update?
Previous Message Max Madden 2025-06-10 15:37:03 Logical Replication Memory Allocation Error - "invalid memory alloc request size"