Skip to content

Commit 085b44f

Browse files
author
Alexander Korotkov
committed
Fix limits in VACUUM.
1 parent 34015b9 commit 085b44f

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

src/backend/commands/vacuum.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -483,7 +483,7 @@ vacuum_set_xid_limits(Relation rel,
483483
int mxid_freezemin;
484484
int effective_multixact_freeze_max_age;
485485
TransactionId limit;
486-
TransactionId safeLimit;
486+
TransactionId safeLimit, nextXid;
487487
MultiXactId mxactLimit;
488488
MultiXactId safeMxactLimit;
489489

@@ -525,8 +525,10 @@ vacuum_set_xid_limits(Relation rel,
525525
* autovacuum_freeze_max_age / 2 XIDs old), complain and force a minimum
526526
* freeze age of zero.
527527
*/
528-
safeLimit = ReadNewTransactionId() - autovacuum_freeze_max_age;
529-
if (!TransactionIdIsNormal(safeLimit))
528+
nextXid = ReadNewTransactionId();
529+
if (nextXid > FirstNormalTransactionId + autovacuum_freeze_max_age)
530+
safeLimit = ReadNewTransactionId() - autovacuum_freeze_max_age;
531+
else
530532
safeLimit = FirstNormalTransactionId;
531533

532534
if (TransactionIdPrecedes(limit, safeLimit))

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy