Empty query_id in pg_stat_activity
Hey folks, I am running Benchbase and pgbench at the same time just for
debugging purposes, and I notice that sometimes query_id is missing
from pg_stat_activity. Any clue why this is happening?
```
benchbase=# SELECT query_id, now() - query_start as duration, query FROM
pg_stat_activity WHERE state = 'active' AND backend_type = 'client backend'
ORDER BY duration DESC LIMIT 5; query_id | duration | query
---------------------+------------------+------------------------------------------------------------------------
| 00:00:00.223544 | SELECT + | | s_suppkey, + | | s_name, + | | s_address,
+ | | s_phone, + | | total_revenue + | | FROM + | | supplier, + | |
revenue0 + | | WHERE + | | s_suppkey = supplier_no + | | AND total_revenue
= ( + | | SELECT + | | MAX(total_revenue) + | | FROM + | | revenue0 + | | )
+ | | ORDER BY + | | s_suppkey + | | 3080582906387216276 | 00:00:00.000032
| UPDATE pgbench_branches SET bbalance = bbalance + -4897 WHERE bid = 8;
3080582906387216276 | -00:00:00.000321 | UPDATE pgbench_branches SET
bbalance = bbalance + -377 WHERE bid = 6; 2064869707185898531 |
-00:00:00.000501 | END; 2064869707185898531 | -00:00:00.000502 | END; (5
rows)
```
Cheers,
Costa
On 2024-12-06 15:32 +0100, Costa Alexoglou wrote:
Hey folks, I am running Benchbase and pgbench at the same time just for
debugging purposes, and I notice that sometimes query_id is missing
from pg_stat_activity. Any clue why this is happening?
What's your Postgres version?
Could be that query_id is not reported because the session is using the
extended query protocol. This has been fixed just recently in releases
14.14/15.9/16.5/17.1. From the 14.14 release notes:
* Report the active query ID for statistics purposes at the start of
processing of Bind and Execute protocol messages (Sami Imseih)
https://postgr.es/c/b36ee879cThis allows more of the work done in extended query protocol to be
attributed to the correct query.
Another possibility is that the session just disabled compute_query_id:
/messages/by-id/472115375.225506.1683812791906@office.mailbox.org
--
Erik
On Fri, Dec 06, 2024 at 04:44:29PM +0100, Erik Wienhold wrote:
Another possibility is that the session just disabled compute_query_id:
/messages/by-id/472115375.225506.1683812791906@office.mailbox.org
Or possibly this uses a path where we're not aggressive enough the
query ID while we should know it (there are slight cases where we
could finish without one, like some PL contexts).
If you could provide more details for the reproduction of the problem
that does not involve benchbase, that would save time.
--
Michael
On 2024-12-10 14:33 +0100, Costa Alexoglou wrote:
On Fri, Dec 6, 2024 at 4:44 PM Erik Wienhold <ewie@ewie.name> wrote:
What's your Postgres version?
It was `16.1`, run with `16.6` and indeed the query_id is there.
Thanks!
Please reply to list as well. CC'ed it now.
--
Erik
Import Notes
Reply to msg id not found: CAJ+5Ff73+nTSEhXSkSoLyynkMRevftHHsipaU6W1yeDJex+2pg@mail.gmail.com