The message sent to pg_stat_activity when waiting for transactions to
end was long enough that it could get truncated when the xid included
in the string grew large. Fix by rewording to avoid truncation, using
a similar message in the logical replication code as inspiration.
Author: Daniel Gustafsson <daniel@yesql.se>
Reported-by: ChangAo Chen <cca5507@qq.com>
Discussion: https://postgr.es/m/tencent_47CA9CE2F91FF4D81D875E162AD69AA4900A@qq.com
/* Oldest running xid is older than us, so wait */
snprintf(activity,
sizeof(activity),
- "Waiting for current transactions to finish (waiting for %u)",
+ "Waiting for transactions older than %u to end",
waitforxid);
pgstat_report_activity(STATE_RUNNING, activity);