Re: Large expressions in indexes can't be stored (non-TOASTable)
Nathan Bossart <nathandbossart@gmail.com>
From: Nathan Bossart <nathandbossart@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
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>, tomas@vondra.me, "hlinnaka@iki.fi PostgreSQL Hackers" <pgsql-hackers@lists.postgresql.org>
Date: 2025-04-29T18:09:32Z
Lists: pgsql-hackers
On Tue, Apr 29, 2025 at 02:01:54PM -0400, Tom Lane wrote: > Nathan Bossart <nathandbossart@gmail.com> writes: >> Thanks. I'll stash this away for July unless someone wants to argue that >> it's fair game for v18. IMHO this isn't nearly urgent enough for that, and >> the bugs will continue to exist on older major versions regardless. > > I'm inclined to argue that it's a bug fix and therefore still in-scope > for v18. The fact that we can't back-patch such a change is all the > more reason to not let it slide another year. But probably the RMT > should make the call. Tomas, Heikki: Thoughts on removing pg_replication_origin's TOAST table post-feature-freeze? The proposed commit message explains what's going on: A few places that access this catalog do not set up an active snapshot before potentially accessing its TOAST table, which is unsafe. However, roname (the replication origin name) is the only varlena column, so this is only ever a problem if the name requires out-of-line storage, which seems unlikely. This commit removes its TOAST table to avoid needing to set up a snapshot, and it establishes a length restriction of 512 bytes for replication origin names. Even without this restriction, names that would require out-of-line storage would fail with a "row is too big" error; the additional length restriction just provides a more specific error message. -- nathan
Commits
-
Ensure we have a snapshot when updating various system catalogs.
- fe8ea7a2a893 17.6 landed
- ddfcfb7cec68 15.14 landed
- b7ba2c0308ce 13.22 landed
- b65be6ef00e2 14.19 landed
- 706054b11b95 18.0 landed
- 24135398f1e1 16.10 landed
-
Remove pg_replication_origin's TOAST table.
- 16bf24e0e471 18.0 landed
-
Restrict password hash length.
- 8275325a06ed 18.0 cited
-
Ensure we have a snapshot when updating pg_index entries.
- b52adbad4674 18.0 landed
-
Add TOAST table to pg_index.
- b52c4fc3c09e 18.0 landed
-
Add toast tables to most system catalogs
- 96cdeae07f93 12.0 cited