From: | Nathan Bossart <nathandbossart(at)gmail(dot)com> |
---|---|
To: | "Jonathan S(dot) Katz" <jkatz(at)postgresql(dot)org> |
Cc: | PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: Large expressions in indexes can't be stored (non-TOASTable) |
Date: | 2024-09-04 18:40:49 |
Message-ID: | ZtipsVMZAGjrO1p_@nathan |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, Sep 03, 2024 at 12:35:42PM -0400, Jonathan S. Katz wrote:
> However, I ran into the issue in[1], where pg_index was identified as
> catalog that is missing a toast table, even though `indexprs` is marked for
> extended storage. Providing a very simple reproducer in psql below:
Thanks to commit 96cdeae, only a few catalogs remain that are missing TOAST
tables: pg_attribute, pg_class, pg_index, pg_largeobject, and
pg_largeobject_metadata. I've attached a short patch to add one for
pg_index, which resolves the issue cited here. This passes "check-world"
and didn't fail for a few ad hoc tests (e.g., VACUUM FULL on pg_index). I
haven't spent too much time investigating possible circularity issues, but
I'll note that none of the system indexes presently use the indexprs and
indpred columns.
If we do want to proceed with adding a TOAST table to pg_index, IMHO it
would be better to do it sooner than later so that it has plenty of time to
bake.
--
nathan
Attachment | Content-Type | Size |
---|---|---|
v1-0001-add-toast-table-to-pg_index.patch | text/plain | 1.7 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Noah Misch | 2024-09-04 18:43:22 | Re: Use read streams in pg_visibility |
Previous Message | Daniel Gustafsson | 2024-09-04 18:35:51 | Re: Avoid possible dereference null pointer (src/bin/pg_dump/pg_dump.c) |