Re: ERROR: missing chunk number 0 for toast value

Поиск
Список
Период
Сортировка
От Robert Haas
Тема Re: ERROR: missing chunk number 0 for toast value
Дата
Msg-id CA+TgmoY7u8Xof-pFVMzsy+hoRy8Wq-RZeojvsTfdzMqbvMJHVw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: ERROR: missing chunk number 0 for toast value  (Andres Freund <andres@2ndquadrant.com>)
Ответы Re: ERROR: missing chunk number 0 for toast value  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: ERROR: missing chunk number 0 for toast value  (Andres Freund <andres@2ndquadrant.com>)
Список pgsql-hackers
On Mon, Jan 6, 2014 at 11:47 AM, Andres Freund <andres@2ndquadrant.com> wrote:
> On 2014-01-06 11:08:41 -0500, Robert Haas wrote:
>> On Mon, Jan 6, 2014 at 9:47 AM, Andres Freund <andres@2ndquadrant.com> wrote:
>> > On 2014-01-06 09:43:45 -0500, Robert Haas wrote:
>> >> > I actually vote for not allowing doing so at all by erroring out when
>> >> > accessing a plpgsql variable created in an aborted subxact, unless you
>> >> > explicitly signal that you want to do do so by calling some function
>> >> > deleting the information about which subxact a variable was created
>> >> > in. I have seen several bugs caused by people assuming that EXCEPTION
>> >> > BLOCK/subtransaction rollback had some kind of effects on variables
>> >> > created in them. And we just don't have much support for doing anything
>> >> > in that direction safely.
>> >>
>> >> So, you want to let users do things that are unsafe, but only if they
>> >> ask nicely?  That hardly seems right.
>> >
>> > Well, no. If they have to use that function explicitly *before* the
>> > subxact aborted, we can copy & detoast the value out of that context
>> > safely.
>>
>> Oh, I see.  I think that's pretty icky.  Users won't expect (and will
>> complain about) such restrictions.
>
> Yea. But at least it would fail reliably instead of just under
> concurrency and other strange circumstances - and there'd be a safe way
> out. Currently there seem to be all sorts of odd behaviour possible.
>
> I simply don't have a better idea :(

Is "forcibly detoast everything" a complete no-go?  I realize there
are performance concerns with that approach, but I'm not sure how
realistic a worry it actually is.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



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

Предыдущее
От: Mark Dilger
Дата:
Сообщение: Re: In-core regression tests for replication, cascading, archiving, PITR, etc. Michael Paquier
Следующее
От: Robert Haas
Дата:
Сообщение: Re: Add CREATE support to event triggers