diff --git a/src/backend/postmaster/autovacuum.c b/src/backend/postmaster/autovacuum.c index dc3cf87abab..8078eeef62e 100644 --- a/src/backend/postmaster/autovacuum.c +++ b/src/backend/postmaster/autovacuum.c @@ -1799,18 +1799,9 @@ get_database_list(void) resultcxt = CurrentMemoryContext; /* - * Start a transaction so we can access pg_database, and get a snapshot. - * We don't have a use for the snapshot itself, but we're interested in - * the secondary effect that it sets RecentGlobalXmin. (This is critical - * for anything that reads heap pages, because HOT may decide to prune - * them even if the process doesn't attempt to modify any tuples.) - * - * FIXME: This comment is inaccurate / the code buggy. A snapshot that is - * not pushed/active does not reliably prevent HOT pruning (->xmin could - * e.g. be cleared when cache invalidations are processed). + * Start a transaction so we can access pg_database. */ StartTransactionCommand(); - (void) GetTransactionSnapshot(); rel = table_open(DatabaseRelationId, AccessShareLock); scan = table_beginscan_catalog(rel, 0, NULL); diff --git a/src/backend/replication/logical/launcher.c b/src/backend/replication/logical/launcher.c index e5fdca8bbf6..8b196420445 100644 --- a/src/backend/replication/logical/launcher.c +++ b/src/backend/replication/logical/launcher.c @@ -121,18 +121,9 @@ get_subscription_list(void) resultcxt = CurrentMemoryContext; /* - * Start a transaction so we can access pg_database, and get a snapshot. - * We don't have a use for the snapshot itself, but we're interested in - * the secondary effect that it sets RecentGlobalXmin. (This is critical - * for anything that reads heap pages, because HOT may decide to prune - * them even if the process doesn't attempt to modify any tuples.) - * - * FIXME: This comment is inaccurate / the code buggy. A snapshot that is - * not pushed/active does not reliably prevent HOT pruning (->xmin could - * e.g. be cleared when cache invalidations are processed). + * Start a transaction so we can access pg_subscription. */ StartTransactionCommand(); - (void) GetTransactionSnapshot(); rel = table_open(SubscriptionRelationId, AccessShareLock); scan = table_beginscan_catalog(rel, 0, NULL); diff --git a/src/backend/utils/init/postinit.c b/src/backend/utils/init/postinit.c index 5b657a3f135..770ab6906e7 100644 --- a/src/backend/utils/init/postinit.c +++ b/src/backend/utils/init/postinit.c @@ -813,16 +813,7 @@ InitPostgres(const char *in_dbname, Oid dboid, } /* - * Start a new transaction here before first access to db, and get a - * snapshot. We don't have a use for the snapshot itself, but we're - * interested in the secondary effect that it sets RecentGlobalXmin. (This - * is critical for anything that reads heap pages, because HOT may decide - * to prune them even if the process doesn't attempt to modify any - * tuples.) - * - * FIXME: This comment is inaccurate / the code buggy. A snapshot that is - * not pushed/active does not reliably prevent HOT pruning (->xmin could - * e.g. be cleared when cache invalidations are processed). + * Start a new transaction here before first access to db. */ if (!bootstrap) { @@ -837,8 +828,6 @@ InitPostgres(const char *in_dbname, Oid dboid, * Fortunately, "read committed" is plenty good enough. */ XactIsoLevel = XACT_READ_COMMITTED; - - (void) GetTransactionSnapshot(); } /*