pg and transactions

Поиск
Список
Период
Сортировка
От pginfo
Тема pg and transactions
Дата
Msg-id 3E0DBF8D.CE4F1A2B@t1.unisoftbg.com
обсуждение исходный текст
Ответы Re: pg and transactions  (Bruno Wolff III <bruno@wolff.to>)
Re: pg and transactions  (Oskar Berggren <beo@sgs.studenthem.gu.se>)
Список pgsql-general
Hi,

I think I have problem with pg transactions ( or I do not understend how
it work).

I have two connections ( running on java clients via jdbc).

I have one simple table  tableA (ID int, value float8 ) with one record
(1,1000).

And make this steps:

Connection1-> begin transaction
Connection1-> read the record from tableA ( select values from tableA
where ID = 1). It returns 1000.
Connection1-> increase the value to 1001.
Connection1-> update the new value in tableA by update tableA set value
= 1001 where ID = 1.
Connection2-> begin transaction
Connection2-> read the record from tableA ( select values from tableA
where ID = 1). It returns 1000. !!!
Connection2-> increase the value with 1. It gives 1001.
Connection2-> update the new value in tableA by update tableA set value
= 1001 where ID = 1.
Connection2->commit.

do some other jobs with connection1.

Connection1->commit

Actualy I use the table as a simple counter for unique values and I
expect that Connection2 will wait until Connection1 finish the task.
Is it normal for pg to work so with transactions?
If yes how can I lock all the tables after beginning the transaction?
If no where can I make mistake?

The same example is working well on oracle and all the task is to port
one oracle based application to pg.

Many tanks and regards,
ivan.






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

Предыдущее
От: "Ed L."
Дата:
Сообщение: missing 7.3.1 pg_hba.conf examples
Следующее
От: pginfo
Дата:
Сообщение: Re: pg and transactions