agora inbox for [email protected]  
help / color / mirror / Atom feed
RE: [HACKERS] MAX Query length
965+ messages / 4 participants
[nested] [flat]

* RE: [HACKERS] MAX Query length
@ 1999-07-14 15:12  Ansley, Michael <[email protected]>
  0 siblings, 1 reply; 965+ messages in thread

From: Ansley, Michael @ 1999-07-14 15:12 UTC (permalink / raw)
  To: 'Bruce Momjian' <[email protected]>; +Cc: pgsql-hackers

Thanks for all the answers, everybody.  Bruce, I had thought to start work
adjusting this so that the size wasn't limited at all.  I'm just busy
gathering as much info as I can about the subject area, and hopefully in a
couple of days, if not earlier, I'll be in a position to start working on
the code.
I seem to remember there being a hackers guide somewhere.  If I remember
right, it dealt with issues like where to check out the latest source from
cvs, rough standards, and other basic advice.  Can anybody point me to it?

Thanks

MikeA

>> -----Original Message-----
>> From: Bruce Momjian [mailto:[email protected]]
>> Sent: Wednesday, July 14, 1999 5:02 PM
>> To: Ansley, Michael
>> Cc: '[email protected]'
>> Subject: Re: [HACKERS] MAX Query length
>> 
>> 
>> [Charset iso-8859-1 unsupported, filtering to ASCII...]
>> > 
>> > Trawling through the code last night I noticed that:
>> > #define MAX_QUERY_SIZE (BLCKSZ * 2)
>> > 
>> > Is there any conceivable reason why the query length would 
>> be dependent on
>> > the block size?  Or do I just have old source code?
>> 
>> No great reason, but is seems like a good maximum.  This controls the
>> buffer size on the client and server.  Do you need it larger?
>> 
>> -- 
>>   Bruce Momjian                        |  http://www.op.net/~candle
>>   [email protected]            |  (610) 853-3000
>>   +  If your life is a hard drive,     |  830 Blythe Avenue
>>   +  Christ can be your backup.        |  Drexel Hill, 
>> Pennsylvania 19026
>> 



^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* Re: [HACKERS] MAX Query length
@ 1999-07-14 16:27  Bruce Momjian <[email protected]>
  parent: Ansley, Michael <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Bruce Momjian @ 1999-07-14 16:27 UTC (permalink / raw)
  To: Ansley, Michael <[email protected]>; +Cc: pgsql-hackers

[Charset iso-8859-1 unsupported, filtering to ASCII...]
> Thanks for all the answers, everybody.  Bruce, I had thought to start work
> adjusting this so that the size wasn't limited at all.  I'm just busy
> gathering as much info as I can about the subject area, and hopefully in a
> couple of days, if not earlier, I'll be in a position to start working on
> the code.
> I seem to remember there being a hackers guide somewhere.  If I remember
> right, it dealt with issues like where to check out the latest source from
> cvs, rough standards, and other basic advice.  Can anybody point me to it?
> 

Info Central/Documenation, see the Developers section.

-- 
  Bruce Momjian                        |  http://www.op.net/~candle
  [email protected]            |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026



^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH v4 3/5] Use libpq-be-fe-helpers.h wrappers more
@ 2024-01-29 07:24  Heikki Linnakangas <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Heikki Linnakangas @ 2024-01-29 07:24 UTC (permalink / raw)

---
 .../libpqwalreceiver/libpqwalreceiver.c       | 151 ++++--------------
 1 file changed, 33 insertions(+), 118 deletions(-)

diff --git a/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c b/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c
index 41cf3dc853..ae48dbafb5 100644
--- a/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c
+++ b/src/backend/replication/libpqwalreceiver/libpqwalreceiver.c
@@ -106,8 +106,6 @@ static WalReceiverFunctionsType PQWalReceiverFunctions = {
 };
 
 /* Prototypes for private functions */
-static PGresult *libpqrcv_PQexec(PGconn *streamConn, const char *query);
-static PGresult *libpqrcv_PQgetResult(PGconn *streamConn);
 static char *stringlist_to_identifierstr(PGconn *conn, List *strings);
 
 /*
@@ -216,8 +214,9 @@ libpqrcv_connect(const char *conninfo, bool logical, bool must_use_password,
 	{
 		PGresult   *res;
 
-		res = libpqrcv_PQexec(conn->streamConn,
-							  ALWAYS_SECURE_SEARCH_PATH_SQL);
+		res = libpqsrv_exec(conn->streamConn,
+							ALWAYS_SECURE_SEARCH_PATH_SQL,
+							WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE);
 		if (PQresultStatus(res) != PGRES_TUPLES_OK)
 		{
 			PQclear(res);
@@ -389,7 +388,9 @@ libpqrcv_identify_system(WalReceiverConn *conn, TimeLineID *primary_tli)
 	 * Get the system identifier and timeline ID as a DataRow message from the
 	 * primary server.
 	 */
-	res = libpqrcv_PQexec(conn->streamConn, "IDENTIFY_SYSTEM");
+	res = libpqsrv_exec(conn->streamConn,
+						"IDENTIFY_SYSTEM",
+						WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE);
 	if (PQresultStatus(res) != PGRES_TUPLES_OK)
 	{
 		PQclear(res);
@@ -522,7 +523,9 @@ libpqrcv_startstreaming(WalReceiverConn *conn,
 						 options->proto.physical.startpointTLI);
 
 	/* Start streaming. */
-	res = libpqrcv_PQexec(conn->streamConn, cmd.data);
+	res = libpqsrv_exec(conn->streamConn,
+						cmd.data,
+						WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE);
 	pfree(cmd.data);
 
 	if (PQresultStatus(res) == PGRES_COMMAND_OK)
@@ -552,7 +555,7 @@ libpqrcv_endstreaming(WalReceiverConn *conn, TimeLineID *next_tli)
 	PGresult   *res;
 
 	/*
-	 * Send copy-end message.  As in libpqrcv_PQexec, this could theoretically
+	 * Send copy-end message.  As in libpqsrv_exec, this could theoretically
 	 * block, but the risk seems small.
 	 */
 	if (PQputCopyEnd(conn->streamConn, NULL) <= 0 ||
@@ -572,7 +575,8 @@ libpqrcv_endstreaming(WalReceiverConn *conn, TimeLineID *next_tli)
 	 * If we had not yet received CopyDone from the backend, PGRES_COPY_OUT is
 	 * also possible in case we aborted the copy in mid-stream.
 	 */
-	res = libpqrcv_PQgetResult(conn->streamConn);
+	res = libpqsrv_get_result(conn->streamConn,
+							  WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE);
 	if (PQresultStatus(res) == PGRES_TUPLES_OK)
 	{
 		/*
@@ -587,7 +591,8 @@ libpqrcv_endstreaming(WalReceiverConn *conn, TimeLineID *next_tli)
 		PQclear(res);
 
 		/* the result set should be followed by CommandComplete */
-		res = libpqrcv_PQgetResult(conn->streamConn);
+		res = libpqsrv_get_result(conn->streamConn,
+								  WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE);
 	}
 	else if (PQresultStatus(res) == PGRES_COPY_OUT)
 	{
@@ -601,7 +606,8 @@ libpqrcv_endstreaming(WalReceiverConn *conn, TimeLineID *next_tli)
 							pchomp(PQerrorMessage(conn->streamConn)))));
 
 		/* CommandComplete should follow */
-		res = libpqrcv_PQgetResult(conn->streamConn);
+		res = libpqsrv_get_result(conn->streamConn,
+								  WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE);
 	}
 
 	if (PQresultStatus(res) != PGRES_COMMAND_OK)
@@ -612,7 +618,8 @@ libpqrcv_endstreaming(WalReceiverConn *conn, TimeLineID *next_tli)
 	PQclear(res);
 
 	/* Verify that there are no more results */
-	res = libpqrcv_PQgetResult(conn->streamConn);
+	res = libpqsrv_get_result(conn->streamConn,
+							  WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE);
 	if (res != NULL)
 		ereport(ERROR,
 				(errcode(ERRCODE_PROTOCOL_VIOLATION),
@@ -637,7 +644,9 @@ libpqrcv_readtimelinehistoryfile(WalReceiverConn *conn,
 	 * Request the primary to send over the history file for given timeline.
 	 */
 	snprintf(cmd, sizeof(cmd), "TIMELINE_HISTORY %u", tli);
-	res = libpqrcv_PQexec(conn->streamConn, cmd);
+	res = libpqsrv_exec(conn->streamConn,
+						cmd,
+						WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE);
 	if (PQresultStatus(res) != PGRES_TUPLES_OK)
 	{
 		PQclear(res);
@@ -667,107 +676,6 @@ libpqrcv_readtimelinehistoryfile(WalReceiverConn *conn,
 	PQclear(res);
 }
 
-/*
- * Send a query and wait for the results by using the asynchronous libpq
- * functions and socket readiness events.
- *
- * The function is modeled on libpqsrv_exec(), with the behavior difference
- * being that it calls ProcessWalRcvInterrupts().  As an optimization, it
- * skips try/catch, since all errors terminate the process.
- *
- * May return NULL, rather than an error result, on failure.
- */
-static PGresult *
-libpqrcv_PQexec(PGconn *streamConn, const char *query)
-{
-	PGresult   *lastResult = NULL;
-
-	/*
-	 * PQexec() silently discards any prior query results on the connection.
-	 * This is not required for this function as it's expected that the caller
-	 * (which is this library in all cases) will behave correctly and we don't
-	 * have to be backwards compatible with old libpq.
-	 */
-
-	/*
-	 * Submit the query.  Since we don't use non-blocking mode, this could
-	 * theoretically block.  In practice, since we don't send very long query
-	 * strings, the risk seems negligible.
-	 */
-	if (!PQsendQuery(streamConn, query))
-		return NULL;
-
-	for (;;)
-	{
-		/* Wait for, and collect, the next PGresult. */
-		PGresult   *result;
-
-		result = libpqrcv_PQgetResult(streamConn);
-		if (result == NULL)
-			break;				/* query is complete, or failure */
-
-		/*
-		 * Emulate PQexec()'s behavior of returning the last result when there
-		 * are many.  We are fine with returning just last error message.
-		 */
-		PQclear(lastResult);
-		lastResult = result;
-
-		if (PQresultStatus(lastResult) == PGRES_COPY_IN ||
-			PQresultStatus(lastResult) == PGRES_COPY_OUT ||
-			PQresultStatus(lastResult) == PGRES_COPY_BOTH ||
-			PQstatus(streamConn) == CONNECTION_BAD)
-			break;
-	}
-
-	return lastResult;
-}
-
-/*
- * Perform the equivalent of PQgetResult(), but watch for interrupts.
- */
-static PGresult *
-libpqrcv_PQgetResult(PGconn *streamConn)
-{
-	/*
-	 * Collect data until PQgetResult is ready to get the result without
-	 * blocking.
-	 */
-	while (PQisBusy(streamConn))
-	{
-		int			rc;
-
-		/*
-		 * We don't need to break down the sleep into smaller increments,
-		 * since we'll get interrupted by signals and can handle any
-		 * interrupts here.
-		 */
-		rc = WaitLatchOrSocket(MyLatch,
-							   WL_EXIT_ON_PM_DEATH | WL_SOCKET_READABLE |
-							   WL_LATCH_SET,
-							   PQsocket(streamConn),
-							   0,
-							   WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE);
-
-		/* Interrupted? */
-		if (rc & WL_LATCH_SET)
-		{
-			ResetLatch(MyLatch);
-			CHECK_FOR_INTERRUPTS();
-		}
-
-		/* Consume whatever data is available from the socket */
-		if (PQconsumeInput(streamConn) == 0)
-		{
-			/* trouble; return NULL */
-			return NULL;
-		}
-	}
-
-	/* Now we can collect and return the next PGresult */
-	return PQgetResult(streamConn);
-}
-
 /*
  * Disconnect connection to primary, if any.
  */
@@ -828,13 +736,15 @@ libpqrcv_receive(WalReceiverConn *conn, char **buffer,
 	{
 		PGresult   *res;
 
-		res = libpqrcv_PQgetResult(conn->streamConn);
+		res = libpqsrv_get_result(conn->streamConn,
+								  WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE);
 		if (PQresultStatus(res) == PGRES_COMMAND_OK)
 		{
 			PQclear(res);
 
 			/* Verify that there are no more results. */
-			res = libpqrcv_PQgetResult(conn->streamConn);
+			res = libpqsrv_get_result(conn->streamConn,
+									  WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE);
 			if (res != NULL)
 			{
 				PQclear(res);
@@ -985,7 +895,9 @@ libpqrcv_create_slot(WalReceiverConn *conn, const char *slotname,
 			appendStringInfoString(&cmd, " PHYSICAL RESERVE_WAL");
 	}
 
-	res = libpqrcv_PQexec(conn->streamConn, cmd.data);
+	res = libpqsrv_exec(conn->streamConn,
+						cmd.data,
+						WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE);
 	pfree(cmd.data);
 
 	if (PQresultStatus(res) != PGRES_TUPLES_OK)
@@ -1026,7 +938,8 @@ libpqrcv_alter_slot(WalReceiverConn *conn, const char *slotname,
 					 quote_identifier(slotname),
 					 failover ? "true" : "false");
 
-	res = libpqrcv_PQexec(conn->streamConn, cmd.data);
+	res = libpqsrv_exec(conn->streamConn, cmd.data,
+						WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE);
 	pfree(cmd.data);
 
 	if (PQresultStatus(res) != PGRES_COMMAND_OK)
@@ -1139,7 +1052,9 @@ libpqrcv_exec(WalReceiverConn *conn, const char *query,
 				(errcode(ERRCODE_OBJECT_NOT_IN_PREREQUISITE_STATE),
 				 errmsg("the query interface requires a database connection")));
 
-	pgres = libpqrcv_PQexec(conn->streamConn, query);
+	pgres = libpqsrv_exec(conn->streamConn,
+						  query,
+						  WAIT_EVENT_LIBPQWALRECEIVER_RECEIVE);
 
 	switch (PQresultStatus(pgres))
 	{
-- 
2.39.3


----Next_Part(Mon_Jan_29_16_32_06_2024_387)--
Content-Type: Text/X-Patch; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
 filename="v4-0004-Use-existing-AmWalReceiverProcess-function.patch"



^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 965+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 965+ messages in thread


end of thread, other threads:[~2026-05-01 07:23 UTC | newest]

Thread overview: 965+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
1999-07-14 15:12 RE: [HACKERS] MAX Query length Ansley, Michael <[email protected]>
1999-07-14 16:27 ` Bruce Momjian <[email protected]>
2024-01-29 07:24 [PATCH v4 3/5] Use libpq-be-fe-helpers.h wrappers more Heikki Linnakangas <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>
2026-05-01 07:23 [PATCH] Turn protective Assert() into elog(ERROR) Álvaro Herrera <[email protected]>

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox