Re: Large expressions in indexes can't be stored (non-TOASTable)

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: Nisha Moond <nisha.moond412@gmail.com>, Euler Taveira <euler@eulerto.com>, Michael Paquier <michael@paquier.xyz>, Amit Kapila <amit.kapila16@gmail.com>, Alexander Lakhin <exclusion@gmail.com>, "Jonathan S. Katz" <jkatz@postgresql.org>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-04-28T21:35:08Z
Lists: pgsql-hackers
Nathan Bossart <nathandbossart@gmail.com> writes:
> On Wed, Apr 23, 2025 at 04:44:51PM -0500, Nathan Bossart wrote:
>> On Wed, Apr 23, 2025 at 05:33:41PM -0400, Tom Lane wrote:
>>> I don't see any comments in this patch that capture the real
>>> reason for removing pg_replication_origin's TOAST table,
>>> namely (IIUC) that we'd like to be able to access that catalog
>>> without a snapshot.

> I updated the comment atop the check in the misc_sanity test for system
> tables with varlena columns but no toast table.  If you were to reintroduce
> pg_replication_origin's toast table, you'd have to at least fix the
> expected output for this test, so the comment theoretically has a higher
> chance of being seen.

Possibly better idea: can we add something like
Assert(!OidIsValid(reltoastrelid)) in the code that is making this
assumption?

			regards, tom lane



Commits

  1. Ensure we have a snapshot when updating various system catalogs.

  2. Remove pg_replication_origin's TOAST table.

  3. Restrict password hash length.

  4. Ensure we have a snapshot when updating pg_index entries.

  5. Add TOAST table to pg_index.

  6. Add toast tables to most system catalogs