Re: bug reapper: Empty query_id in pg_stat_activity

Srinath Reddy Sadipiralla <srinath2133@gmail.com>

From: Srinath Reddy Sadipiralla <srinath2133@gmail.com>
To: Greg Sabino Mullane <htamfids@gmail.com>
Cc: "duomi.peng" <duomi.peng@qq.com>, pgsql-bugs <pgsql-bugs@lists.postgresql.org>
Date: 2025-08-28T12:25:27Z
Lists: pgsql-bugs

Attachments

On Thu, Aug 28, 2025 at 5:40 PM Greg Sabino Mullane <htamfids@gmail.com>
wrote:

> If I am reading the code in utils/activity/backend_status.c correctly, I
> not only see where it is happening (pgstat_report_activity), but why it is
> happening as well.
>

sorry for half cooked analysis ,the reason is pgstat_report_query_id()
zeroes st_query_id before the new one is computed in exec_simple_query(). A
concurrent reader of pg_stat_activity during that narrow timing gap
observes 0 (displayed as NULL). The fix I tried is to retain the previous
query_id (prev_st_query_id) and return it when st_query_id is still 0 but
query_id computation is enabled, thoughts?

-- 
Thanks,
Srinath Reddy Sadipiralla
EDB: https://www.enterprisedb.com/