Re: Two-phase commmit, plpgsql and plproxy

Поиск
Список
Период
Сортировка
От Igor Katson
Тема Re: Two-phase commmit, plpgsql and plproxy
Дата
Msg-id 499349D3.9080609@gmail.com
обсуждение исходный текст
Ответ на Re: Two-phase commmit, plpgsql and plproxy  (Jeff Davis <pgsql@j-davis.com>)
Ответы Re: Two-phase commmit, plpgsql and plproxy  (Jeff Davis <pgsql@j-davis.com>)
Список pgsql-general
Jeff Davis wrote:
> On Wed, 2009-02-11 at 12:43 +0300, Igor Katson wrote:
>
>> ERROR:  XX000: SPI_execute_plan failed executing query "PREPARE
>> TRANSACTION '2pctest'": SPI_ERROR_TRANSACTION
>>
>
> It's probably treating the word PREPARE specially. You can avoid this
> problem by using EXECUTE and specifying the command as a string.
>
>
Yes, doing an EXECUTE helped to create the function.
>> Is there a way to achieve the needed behaviour with two-phase commmit,
>> plpgsql and plproxy ?
>>
>
> You can't begin or end a transaction inside a function. If that was
> allowed, what would the function do after the transaction was prepared?
>
>
> I think you need to do PREPARE TRANSACTION separately, somehow. You
> might need to modify plproxy to do that the way you want.
>
Thanks, Jeff. That's not good news, cause I am not able to do that.

The postgres manual says, that
" The intended usage of the feature is that a prepared transaction will
normally be committed or rolled back as soon as an external transaction
manager has verified that other databases are also prepared to commit. "

So does this "external transaction manager" exist? I am not clear about
what it is.


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

Предыдущее
От: Jeff Davis
Дата:
Сообщение: Re: Two-phase commmit, plpgsql and plproxy
Следующее
От: Fernando Moreno
Дата:
Сообщение: Re: Saber cuando se dispara el trigger (After: insert,update,delete)