Re: unexpected chunk number 2 (expected 0) for toast value ... in pg_toast_18536

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: unexpected chunk number 2 (expected 0) for toast value ... in pg_toast_18536
Дата
Msg-id 2292.1584390138@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: unexpected chunk number 2 (expected 0) for toast value ... inpg_toast_18536  (Andres Freund <andres@anarazel.de>)
Ответы Re: unexpected chunk number 2 (expected 0) for toast value ... in pg_toast_18536
Список pgsql-general
Andres Freund <andres@anarazel.de> writes:
> On 2020-03-16 12:44:53 -0700, Andres Freund wrote:
>> On 2020-03-15 20:11:18 -0400, Tom Lane wrote:
>>> I wonder if we should change it to allow that when
>>> allow_system_table_mods is true?  This isn't the first time we've
>>> seen people need to be able to do surgery on a toast table.

>> I'd be mildly in favor. But it's considerably more than just the
>> executor check that'd need to change. We don't the right thing for toast
>> relations in plenty places right now, because we just check for
>> RELKIND_RELATION - which will break junkvars etc.

> Hm, and I wonder if there could be problems with
> HeapTupleSatisfiesToast() too? It doesn't really forsee much DML being
> done.

We've always allowed people to select from toast tables, so if there
are planner or executor problems with that, I'd think they'd mostly be
bugs that need fixed anyway.  Your point about HeapTupleSatisfiesToast
is better though.

Actually though ... now that I look at the code, I don't understand
why tuple deletion would provoke any errors.  toast_delete_datum()
is not picky about whether it finds consecutive chunk_seq values,
or indeed any matching rows at all.  So now I think that Karsten's
problem traces to writing the query in such a way that something
thinks it needs to fetch the pre-update or pre-delete toasted value.
Or maybe the query as such is fine, and the problem stems from something
like a trigger or logical replication that's trying to fetch the old
value?

            regards, tom lane



В списке pgsql-general по дате отправления:

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: unexpected chunk number 2 (expected 0) for toast value ... inpg_toast_18536
Следующее
От: Andres Freund
Дата:
Сообщение: Re: unexpected chunk number 2 (expected 0) for toast value ... in pg_toast_18536