aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/storage/ipc/procarray.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/backend/storage/ipc/procarray.c b/src/backend/storage/ipc/procarray.c
index afe1c03aa3c..9db184f8fed 100644
--- a/src/backend/storage/ipc/procarray.c
+++ b/src/backend/storage/ipc/procarray.c
@@ -1907,7 +1907,7 @@ ProcArrayInstallRestoredXmin(TransactionId xmin, PGPROC *proc)
* GetRunningTransactionData -- returns information about running transactions.
*
* Similar to GetSnapshotData but returns more information. We include
- * all PGXACTs with an assigned TransactionId, even VACUUM processes.
+ * all PGXACTs with an assigned TransactionId, but not VACUUM processes.
*
* We acquire XidGenLock and ProcArrayLock, but the caller is responsible for
* releasing them. Acquiring XidGenLock ensures that no new XIDs enter the proc
@@ -1995,6 +1995,10 @@ GetRunningTransactionData(void)
volatile PGXACT *pgxact = &allPgXact[pgprocno];
TransactionId xid;
+ /* Ignore procs running LAZY VACUUM */
+ if (pgxact->vacuumFlags & PROC_IN_VACUUM)
+ continue;
+
/* Fetch xid just once - see GetNewTransactionId */
xid = pgxact->xid;