agora inbox for [email protected]  
help / color / mirror / Atom feed
combined indexes with Gist - planner issues?
970+ messages / 6 participants
[nested] [flat]

* combined indexes with Gist - planner issues?
@ 2009-08-31 12:08  Hans-Juergen Schoenig -- PostgreSQL <[email protected]>
  0 siblings, 1 reply; 970+ messages in thread

From: Hans-Juergen Schoenig -- PostgreSQL @ 2009-08-31 12:08 UTC (permalink / raw)
  To: pgsql-hackers; Zoltan Boszormenyi <[email protected]>

hello everybody,

we are seriously fighting with some planner issue which seems to be 
slightly obscure to us.
we have a table which is nicely indexed (several GB in size).
i am using btree_gist operator classes to use a combined index including 
an FTI expression along with a number:

db=# \d product.t_product
                                       Table "product.t_product"
        Column         |     Type      |                           
Modifiers                           
-----------------------+---------------+----------------------------------------------------------------
 id                    | bigint        | not null default 
nextval('product.t_product_id_seq'::regclass)
 shop_id               | integer       |
 art_number            | text          |
 title                 | text          |
 description           | text          |
 display_price         | numeric(10,4) |

Indexes:
    "t_product_pkey" PRIMARY KEY, btree (id)
    "idx_test" gist (display_price, to_tsvector('german'::regconfig, 
(title || ' '::text) || description))
*    "idx_test2" gist (to_tsvector('german'::regconfig, (title || ' 
'::text) || description), display_price)*


what we basically expected here is that Postgres will scan the table 
using the index to give us the cheapest products containing the words we 
are looking for.
i am totally surprised to see that we have to fetch all products given 
the words, sort and then do the limit.
this totally kills performance because some words simply show up 
millions of times. this totally kills everything.

the plans look like this:

db=#  explain analyze SELECT art_number, title
    FROM product.t_product
    WHERE to_tsvector('german'::regconfig, (title || ' '::text) || 
description) @@ plainto_tsquery('harddisk')
    ORDER BY display_price
    LIMIT 10;
                                                                   QUERY 
PLAN                                                                  
------------------------------------------------------------------------------------------------------------------------------------------------
 Limit  (cost=108340.08..108340.10 rows=10 width=54) (actual 
time=1328.900..1328.909 rows=10 loops=1)
   ->  Sort  (cost=108340.08..108422.48 rows=32961 width=54) (actual 
time=1328.899..1328.905 rows=10 loops=1)
         Sort Key: display_price
         Sort Method:  top-N heapsort  Memory: 18kB
         ->  Bitmap Heap Scan on t_product  (cost=2716.62..107627.80 
rows=32961 width=54) (actual time=1052.706..1328.772 rows=55 loops=1)
               Recheck Cond: (to_tsvector('german'::regconfig, ((title 
|| ' '::text) || description)) @@ plainto_tsquery('harddisk'::text))
               ->  Bitmap Index Scan on idx_test2  (cost=0.00..2708.38 
rows=32961 width=0) (actual time=1052.576..1052.576 rows=55 loops=1)
                     Index Cond: (to_tsvector('german'::regconfig, 
((title || ' '::text) || description)) @@ plainto_tsquery('harddisk'::text))
 Total runtime: 1328.942 ms
(9 rows)


runtime increases badly if words start to be more likely ...


db=#  explain analyze SELECT art_number, title
        FROM product.t_product
        WHERE to_tsvector('german'::regconfig, (title || ' '::text) || 
description) @@ plainto_tsquery('spiel')
        ORDER BY display_price
        LIMIT 10;
                                                                  QUERY 
PLAN                                                                 
----------------------------------------------------------------------------------------------------------------------------------------------
 Limit  (cost=108340.08..108340.10 rows=10 width=54) (actual 
time=33489.675..33489.682 rows=10 loops=1)
   ->  Sort  (cost=108340.08..108422.48 rows=32961 width=54) (actual 
time=33489.675..33489.675 rows=10 loops=1)
         Sort Key: display_price
         Sort Method:  top-N heapsort  Memory: 18kB
         ->  Bitmap Heap Scan on t_product  (cost=2716.62..107627.80 
rows=32961 width=54) (actual time=774.923..33408.522 rows=56047 loops=1)
               Recheck Cond: (to_tsvector('german'::regconfig, ((title 
|| ' '::text) || description)) @@ plainto_tsquery('spiel'::text))
               ->  Bitmap Index Scan on idx_test2  (cost=0.00..2708.38 
rows=32961 width=0) (actual time=759.078..759.078 rows=56047 loops=1)
                     Index Cond: (to_tsvector('german'::regconfig, 
((title || ' '::text) || description)) @@ plainto_tsquery('spiel'::text))
 Total runtime: 33489.906 ms
(9 rows)

i am wondering why postgres is not able to use a combined index here?
is this some obscure thing related to gist, a logical problem or a 
planner deficiency?

ideas are welcome.

    many thanks,

       hans



-- 
Cybertec Schoenig & Schoenig GmbH
Reyergasse 9 / 2
A-2700 Wiener Neustadt
Web: www.postgresql-support.de




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

* Re: combined indexes with Gist - planner issues?
@ 2009-08-31 13:54  Tom Lane <[email protected]>
  parent: Hans-Juergen Schoenig -- PostgreSQL <[email protected]>
  0 siblings, 1 reply; 970+ messages in thread

From: Tom Lane @ 2009-08-31 13:54 UTC (permalink / raw)
  To: Hans-Juergen Schoenig -- PostgreSQL <[email protected]>; +Cc: pgsql-hackers; Zoltan Boszormenyi <[email protected]>

Hans-Juergen Schoenig -- PostgreSQL <[email protected]> writes:
> what we basically expected here is that Postgres will scan the table 
> using the index to give us the cheapest products containing the words we 
> are looking for.
> i am totally surprised to see that we have to fetch all products given 
> the words, sort and then do the limit.

I don't know why you'd find that surprising.  GIST indexes have no
support for ordering.

			regards, tom lane



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

* Re: combined indexes with Gist - planner issues?
@ 2009-08-31 14:06  Hans-Juergen Schoenig -- PostgreSQL <[email protected]>
  parent: Tom Lane <[email protected]>
  0 siblings, 1 reply; 970+ messages in thread

From: Hans-Juergen Schoenig -- PostgreSQL @ 2009-08-31 14:06 UTC (permalink / raw)
  To: Tom Lane <[email protected]>; +Cc: pgsql-hackers; Zoltan Boszormenyi <[email protected]>

Tom Lane wrote:
> Hans-Juergen Schoenig -- PostgreSQL <[email protected]> writes:
>   
>> what we basically expected here is that Postgres will scan the table 
>> using the index to give us the cheapest products containing the words we 
>> are looking for.
>> i am totally surprised to see that we have to fetch all products given 
>> the words, sort and then do the limit.
>>     
>
> I don't know why you'd find that surprising.  GIST indexes have no
> support for ordering.
>
> 			regards, tom lane
>
>   

ok, i thought it would be something gist specific i was not aware of.
the golden question now is: i am looking for the cheapest products given 
a certain text in an insane amount of data.
how to do it? other quals which could narrow down the amount of data 
would not help.

i cannot see an option with regular "weapons" ...
maybe you can an idea how to fix core to make it work? maybe there is a 
mechanism we could need.
we really have to make this work - no matter what it takes.
we are willing to put effort into that.

    many thanks,

       hans

-- 
Cybertec Schoenig & Schoenig GmbH
Reyergasse 9 / 2
A-2700 Wiener Neustadt
Web: www.postgresql-support.de




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

* Re: combined indexes with Gist - planner issues?
@ 2009-08-31 14:24  Martijn van Oosterhout <[email protected]>
  parent: Hans-Juergen Schoenig -- PostgreSQL <[email protected]>
  0 siblings, 1 reply; 970+ messages in thread

From: Martijn van Oosterhout @ 2009-08-31 14:24 UTC (permalink / raw)
  To: Hans-Juergen Schoenig -- PostgreSQL <[email protected]>; +Cc: Tom Lane <[email protected]>; pgsql-hackers; Zoltan Boszormenyi <[email protected]>

On Mon, Aug 31, 2009 at 04:06:22PM +0200, Hans-Juergen Schoenig -- PostgreSQL wrote:
> ok, i thought it would be something gist specific i was not aware of.
> the golden question now is: i am looking for the cheapest products given  
> a certain text in an insane amount of data.
> how to do it? other quals which could narrow down the amount of data  
> would not help.
>
> i cannot see an option with regular "weapons" ...
> maybe you can an idea how to fix core to make it work? maybe there is a  
> mechanism we could need.
> we really have to make this work - no matter what it takes.
> we are willing to put effort into that.

The way I usually attack such a problem is to think of a data
structure+algorithm that could produce the output you want. Once you've
got that it's usually clear how you can make postgres do it and what
changes would need to be made.

At first glance I don't see any nice data structure specific for your
problem. But it occurs to me that maybe you could just have a (btree)
index on the price and just scan in asceding order until you have
enough records. Expensive if the first record is expensive.

Another possibility is to change your query to use the price in the
GiST index: execute multiple queries of the form:

... AND display_price >= 0.01 and display_price < 1;
... AND display_price >= 1 and display_price < 10;

Because you match less records the sort won't be so expensive and you
can stop once you have enough records.

Hope this helps,
-- 
Martijn van Oosterhout   <[email protected]>   http://svana.org/kleptog/
> Please line up in a tree and maintain the heap invariant while 
> boarding. Thank you for flying nlogn airlines.


Attachments:

  [application/pgp-signature] signature.asc (189B, ../../[email protected]/2-signature.asc)
  download

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

* Re: combined indexes with Gist - planner issues?
@ 2009-08-31 14:40  Hans-Juergen Schoenig -- PostgreSQL <[email protected]>
  parent: Martijn van Oosterhout <[email protected]>
  0 siblings, 1 reply; 970+ messages in thread

From: Hans-Juergen Schoenig -- PostgreSQL @ 2009-08-31 14:40 UTC (permalink / raw)
  To: Martijn van Oosterhout <[email protected]>; +Cc: Tom Lane <[email protected]>; pgsql-hackers; Zoltan Boszormenyi <[email protected]>

Martijn van Oosterhout wrote:
> On Mon, Aug 31, 2009 at 04:06:22PM +0200, Hans-Juergen Schoenig -- PostgreSQL wrote:
>   
>> ok, i thought it would be something gist specific i was not aware of.
>> the golden question now is: i am looking for the cheapest products given  
>> a certain text in an insane amount of data.
>> how to do it? other quals which could narrow down the amount of data  
>> would not help.
>>
>> i cannot see an option with regular "weapons" ...
>> maybe you can an idea how to fix core to make it work? maybe there is a  
>> mechanism we could need.
>> we really have to make this work - no matter what it takes.
>> we are willing to put effort into that.
>>     
>
> The way I usually attack such a problem is to think of a data
> structure+algorithm that could produce the output you want. Once you've
> got that it's usually clear how you can make postgres do it and what
> changes would need to be made.
>
> At first glance I don't see any nice data structure specific for your
> problem. But it occurs to me that maybe you could just have a (btree)
> index on the price and just scan in asceding order until you have
> enough records. Expensive if the first record is expensive.
>
> Another possibility is to change your query to use the price in the
> GiST index: execute multiple queries of the form:
>
> ... AND display_price >= 0.01 and display_price < 1;
> ... AND display_price >= 1 and display_price < 10;
>
>   

hello ...

i had a similar idea here but the problem is: prices will pretty much 
depends on products.
to get to some critical example: "book" is a horribly frequent word and 
you will find just too many in a too narrow price range.
using a price index is alone is not a good idea. how many products which 
cost USD 9.95 do you know and how many of them are books? :(
i did some experiments which PL/proxy to scale out a little and i wrote 
some C code to explicitly cache data from the start and so on.
this is all shit, however - it is too much data and I have too many request.
i don't want to fallback to some java-based stuff such as solr. it would 
totally ruin my credibility and the stand postgres has at this customer.
whatever it takes - a PG based solution has to be found and implemented.

my knowledge of how gist works internally is not too extensive. any 
"kickstart" idea would be appreciated.

    many thanks,

       hans

-- 
Cybertec Schoenig & Schoenig GmbH
Reyergasse 9 / 2
A-2700 Wiener Neustadt
Web: www.postgresql-support.de




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

* Re: combined indexes with Gist - planner issues?
@ 2009-08-31 15:27  Heikki Linnakangas <[email protected]>
  parent: Hans-Juergen Schoenig -- PostgreSQL <[email protected]>
  0 siblings, 1 reply; 970+ messages in thread

From: Heikki Linnakangas @ 2009-08-31 15:27 UTC (permalink / raw)
  To: Hans-Juergen Schoenig -- PostgreSQL <[email protected]>; +Cc: Martijn van Oosterhout <[email protected]>; Tom Lane <[email protected]>; pgsql-hackers; Zoltan Boszormenyi <[email protected]>

Hans-Juergen Schoenig -- PostgreSQL wrote:
> my knowledge of how gist works internally is not too extensive. any
> "kickstart" idea would be appreciated.

If there's not too many of those common words, you can create a simple
partial b-tree index for each, and handle the less common words with the
gist index you have (you can drop the display_price column from the index).

Another idea:

Create a table containing one row for each word in each product:

CREATE TABLE t_product_word (id bigint, word text, display_price
numeric(10,4));

with triggers to keep it up-to-date. You can then create a regular two
column b-tree index on that:

CREATE INDEX idx_word_price ON t_product_word (word, display_price);

And query with:

SELECT p.art_number, p.title
   FROM t_product p INNER JOIN t_product_word pw ON p.id = pw.id
   WHERE pw.word = 'harddisk'
ORDER BY pw.display_price DESC LIMIT 10;

The t_product_word table will be huge, but with a few gigabytes of data
it should still be manageable.

-- 
  Heikki Linnakangas
  EnterpriseDB   http://www.enterprisedb.com



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

* Re: combined indexes with Gist - planner issues?
@ 2009-08-31 15:34  Hans-Juergen Schoenig -- PostgreSQL <[email protected]>
  parent: Heikki Linnakangas <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Hans-Juergen Schoenig -- PostgreSQL @ 2009-08-31 15:34 UTC (permalink / raw)
  To: Heikki Linnakangas <[email protected]>; +Cc: Martijn van Oosterhout <[email protected]>; Tom Lane <[email protected]>; pgsql-hackers; Zoltan Boszormenyi <[email protected]>

hello ...

we did some experiments with doing such a table.
the problem is if you want to allow arbitrary combinations of words 
which can be modeled perfectly with FTI.
you would instantly end up with a self join with 5 relations or so - 
which is again bad.

there are too many common words to consider doing with partly with gist 
and partly with a btree.

is there any option to adapt gist in a way that a combined index would 
make sense here?

    many thanks,

       hans




Heikki Linnakangas wrote:
> Hans-Juergen Schoenig -- PostgreSQL wrote:
>   
>> my knowledge of how gist works internally is not too extensive. any
>> "kickstart" idea would be appreciated.
>>     
>
> If there's not too many of those common words, you can create a simple
> partial b-tree index for each, and handle the less common words with the
> gist index you have (you can drop the display_price column from the index).
>
> Another idea:
>
> Create a table containing one row for each word in each product:
>
> CREATE TABLE t_product_word (id bigint, word text, display_price
> numeric(10,4));
>
> with triggers to keep it up-to-date. You can then create a regular two
> column b-tree index on that:
>
> CREATE INDEX idx_word_price ON t_product_word (word, display_price);
>
> And query with:
>
> SELECT p.art_number, p.title
>    FROM t_product p INNER JOIN t_product_word pw ON p.id = pw.id
>    WHERE pw.word = 'harddisk'
> ORDER BY pw.display_price DESC LIMIT 10;
>
> The t_product_word table will be huge, but with a few gigabytes of data
> it should still be manageable.
>
>   


-- 
Cybertec Schoenig & Schoenig GmbH
Reyergasse 9 / 2
A-2700 Wiener Neustadt
Web: www.postgresql-support.de




^ permalink  raw  reply  [nested|flat] 970+ 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; 970+ 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] 970+ messages in thread

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





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

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

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

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

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


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread

* [PATCH] Turn protective Assert() into elog(ERROR)
@ 2026-05-01 07:23  Álvaro Herrera <[email protected]>
  0 siblings, 0 replies; 970+ messages in thread

From: Álvaro Herrera @ 2026-05-01 07:23 UTC (permalink / raw)

---
 src/backend/access/index/genam.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c
index 97d44b84622..7d401e3f137 100644
--- a/src/backend/access/index/genam.c
+++ b/src/backend/access/index/genam.c
@@ -396,11 +396,13 @@ systable_beginscan(Relation heapRelation,
 
 	/*
 	 * If this backend promised that it won't access shared catalogs during
-	 * logical decoding, this it the right place to verify.
+	 * logical decoding, this is the right place to verify.
 	 */
-	Assert(!HistoricSnapshotActive() ||
-		   accessSharedCatalogsInDecoding ||
-		   !heapRelation->rd_rel->relisshared);
+	if (HistoricSnapshotActive() &&
+		!accessSharedCatalogsInDecoding &&
+		heapRelation->rd_rel->relisshared)
+		elog(ERROR,
+			 "cannot access shared catalog with database-specific historic snapshot");
 
 	if (indexOK &&
 		!IgnoreSystemIndexes &&
-- 
2.47.3


--k6vxbflu22czkb7a--





^ permalink  raw  reply  [nested|flat] 970+ messages in thread


end of thread, other threads:[~2026-05-01 07:23 UTC | newest]

Thread overview: 970+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2009-08-31 12:08 combined indexes with Gist - planner issues? Hans-Juergen Schoenig -- PostgreSQL <[email protected]>
2009-08-31 13:54 ` Tom Lane <[email protected]>
2009-08-31 14:06   ` Hans-Juergen Schoenig -- PostgreSQL <[email protected]>
2009-08-31 14:24     ` Martijn van Oosterhout <[email protected]>
2009-08-31 14:40       ` Hans-Juergen Schoenig -- PostgreSQL <[email protected]>
2009-08-31 15:27         ` Heikki Linnakangas <[email protected]>
2009-08-31 15:34           ` Hans-Juergen Schoenig -- PostgreSQL <[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