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

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Nisha Moond <nisha.moond412@gmail.com>, Euler Taveira <euler@eulerto.com>, 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-05-06T23:00:39Z
Lists: pgsql-hackers
On Tue, May 06, 2025 at 11:41:49AM -0500, Nathan Bossart wrote:
> I brought this up with the RMT, and everyone seemed okay with committing it
> for v18.

Cool, thanks for the update.

> I can move it back to replorigin_create().  I don't have a strong opinion
> here.

I think that I would the check there, as that's safer in the long-run
to enforce the rule to all potential callers of this API.  If the
votes balance in favor of keeping it in the SQL function, that's OK by
me as well, so feel free to ignore me if you feel strongly about it
overall.
--
Michael

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