Re: why postgresql over other RDBMS

Поиск
Список
Период
Сортировка
От A.M.
Тема Re: why postgresql over other RDBMS
Дата
Msg-id B106E7CA-6F85-46E5-A57A-E9B31BA06887@themactionfaction.com
обсуждение исходный текст
Ответ на Re: why postgresql over other RDBMS  (Alvaro Herrera <alvherre@commandprompt.com>)
Ответы Re: why postgresql over other RDBMS  ("Alexander Staubo" <alex@purefiction.net>)
Список pgsql-general
On May 24, 2007, at 15:57 , Alvaro Herrera wrote:

> A.M. wrote:
>>
>> Indeed. Wouldn't it be a cool feature to persists transaction states
>> across connections so that a new connection could get access to a
>> sub-
>> transaction state? That way, you could make your schema changes and
>> test them with any number of test clients (which designate the state
>> to connect with) and then you would commit when everything works.
>>
>> Unfortunately, the postgresql architecture wouldn't lend itself well
>> to this. Still, it seems like a basic extension of the notion of sub-
>> transactions.
>
> Hmm, doesn't this Just Work with two-phase commit?

2PC requires that the modifications already be in concrete. What I
suggest is a method for a new connection to insert itself into an
existing (sub-)transaction SQL stream, make changes, and commit to
the root or parent transaction.

In the scenario where changes are pending, only one connection can
test the changes- it must be the connection that opened the
transaction. Concurrency issues cannot be tested before committing,
for example.

The implementation could be as simple as decoupling connections from
transactions- then a connection could make serialized requests to
other backends. A proof-of-concept could certainly be cobbled
together with pipes and pl/perl, but the real beef would be the
ability to "pass" responsibility for transactions from one connection
to another.

Cheers,
M

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

Предыдущее
От: "Andrej Ricnik-Bay"
Дата:
Сообщение: Re: the future of pljava development
Следующее
От: "Thomas F. O'Connell"
Дата:
Сообщение: Large Database \d: ERROR: cache lookup failed for relation ...