pg and transactions
От | pginfo |
---|---|
Тема | pg and transactions |
Дата | |
Msg-id | 3E0DBF8D.CE4F1A2B@t1.unisoftbg.com обсуждение исходный текст |
Ответы |
Re: pg and transactions
Re: pg and transactions |
Список | 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 по дате отправления: