Re: Transaction completion timing
От | Tom Lane |
---|---|
Тема | Re: Transaction completion timing |
Дата | |
Msg-id | 20447.1411581669@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Transaction completion timing ("Steve Dodd" <steve@streetcontxt.com>) |
Ответы |
Re: Transaction completion timing
|
Список | pgsql-general |
"Steve Dodd" <steve@streetcontxt.com> writes: > Say we have two transactions run sequentially: T1 writes some data, and T2 reads the written data. There is a non-zerotime delay between the apparent T1 commit, and the subsequent T2 query. > Is there any guarantee that the data written in T1 will be visible to the query in T2? > We have a situation in our system where it would appear that the answer is NO. Extremely hard to believe. There is a very well-defined point where the transaction's effects become visible to other transactions, and that is certainly before the commit is reported as complete to the client. I suspect if you dig into it you'll find that your client-side code is doing something unexpected. Also worth checking is that "T2" is actually a transaction, and not a single statement within a serializable-mode transaction. In the latter case it would see the database state as of the transaction's snapshot, which might precede T1's commit. regards, tom lane
В списке pgsql-general по дате отправления: