postgres.git / summary / log / commit / refs

commit    52b27f5859f6bf747fbb8275302fac962b645312
Author:   Michael Paquier <michael@paquier.xyz>
Date:     Sat Dec 27 08:23:53 2025 +0000
First released in: 14.21, 15.16, 16.12, 17.8, 18.2

    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 2575dba87b9..6c9f86ef99e 100644 --- a/src/backend/utils/adt/pgstatfuncs.c +++ b/src/backend/utils/adt/pgstatfuncs.c @@ -756,7 +756,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: 02dc089bf156]