Re: Repeatable Read Isolation Level "transaction start time"
От | Ron Johnson |
---|---|
Тема | Re: Repeatable Read Isolation Level "transaction start time" |
Дата | |
Msg-id | CANzqJaC0Puj0WnnjQ2K2qy1MQJY4O8QP5uJbNoqeQrhfdgJ8Xg@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: Repeatable Read Isolation Level "transaction start time" ("David G. Johnston" <david.g.johnston@gmail.com>) |
Ответы |
Re: Repeatable Read Isolation Level "transaction start time"
|
Список | pgsql-general |
On Tue, Sep 24, 2024 at 8:29 AM David G. Johnston <david.g.johnston@gmail.com> wrote:
On Monday, September 23, 2024, Wizard Brony <wizardbrony@gmail.com> wrote:https://www.postgresql.org/docs/16/transaction-iso.html#XACT-REPEATABLE-READ
The PostgreSQL documentation for the Repeatable Read Isolation Level states the following:
“UPDATE, DELETE, MERGE, SELECT FOR UPDATE, and SELECT FOR SHARE commands behave the same as SELECT in terms of searching for target rows: they will only find target rows that were committed as of the transaction start time.”
What is defined as the "transaction start time?" When I first read the statement, I interpreted it as the start of the transaction:
BEGIN;
SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
But in my testing, I find that according to that statement, the transaction start time is actually "the start of the first non-transaction-control statement in the transaction" (as mentioned earlier in the section). Is my conclusion correct, or am I misunderstanding the documentation?Probably, since indeed the transaction cannot start at begin because once it does start it cannot be modified.
Death to <Redacted>, and butter sauce.
Don't boil me, I'm still alive.
<Redacted> crustacean!
В списке pgsql-general по дате отправления: