postgres.git / summary / log / commit / refs
commit ea3524cffa81386aadb7eb8245d05a2ce2f71562
Author: Michael Paquier <michael@paquier.xyz>
Date: Sat Dec 27 08:23:58 2025 +0000
Fix pg_stat_get_backend_activity() to use multi-byte truncated result
pg_stat_get_backend_activity() calls pgstat_clip_activity() to ensure
that the reported query string is correctly truncated when it finishes
with an incomplete multi-byte sequence. However, the result returned by
the function was not what pgstat_clip_activity() generated, but the
non-truncated, original, contents from PgBackendStatus.st_activity_raw.
Oversight in 54b6cd589ac2, so backpatch all the way down.
Author: Chao Li <li.evan.chao@gmail.com>
Discussion: https://postgr.es/m/CAEoWx2mDzwc48q2EK9tSXS6iJMJ35wvxNQnHX+rXjy5VgLvJQw@mail.gmail.com
Backpatch-through: 14
src/backend/utils/adt/pgstatfuncs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/backend/utils/adt/pgstatfuncs.c b/src/backend/utils/adt/pgstatfuncs.c
index 6fc2196d59a..4125c2b0331 100644
--- a/src/backend/utils/adt/pgstatfuncs.c
+++ b/src/backend/utils/adt/pgstatfuncs.c
@@ -1028,7 +1028,7 @@ pg_stat_get_backend_activity(PG_FUNCTION_ARGS)
activity = beentry->st_activity_raw;
clipped_activity = pgstat_clip_activity(activity);
- ret = cstring_to_text(activity);
+ ret = cstring_to_text(clipped_activity);
pfree(clipped_activity);
PG_RETURN_TEXT_P(ret);
[parent: 7c9f4a65604c]