Commit b175bd59 authored by Alvaro Herrera's avatar Alvaro Herrera

pg_stat_activity: show NULL stmt start time for walsenders

Returning a non-NULL time is pointless, sinc a walsender is not a
process that would be running normal transactions anyway, but the code
was unintentionally exposing the process start time intermittently,
which was not only bogus but it also confused monitoring systems looking
for idle transactions.  Fix by avoiding all updates in walsenders.

Backpatch to 11, where walsenders started appearing in pg_stat_activity.

Reported-by: Tomas Vondra
Discussion: https://postgr.es/m/20191209234409.exe7osmyalwkt5j4@development
parent ce242ae1
......@@ -816,6 +816,13 @@ GetCurrentTransactionStopTimestamp(void)
void
SetCurrentStatementStartTimestamp(void)
{
/*
* Skip if on a walsender; this is not needed, and it confuses monitoring
* if we publish non-NULL values.
*/
if (am_walsender)
return;
if (!IsParallelWorker())
stmtStartTimestamp = GetCurrentTimestamp();
else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment