Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1st15M-00Cj0A-LB for pgsql-general@arkaria.postgresql.org; Tue, 24 Sep 2024 08:39:53 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1st15M-004qmL-0b for pgsql-general@arkaria.postgresql.org; Tue, 24 Sep 2024 08:39:52 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sskml-00Axh9-S5 for pgsql-general@lists.postgresql.org; Mon, 23 Sep 2024 15:15:35 +0000 Received: from mail-qv1-xf29.google.com ([2607:f8b0:4864:20::f29]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1sskmh-000ge6-SD for pgsql-general@lists.postgresql.org; Mon, 23 Sep 2024 15:15:35 +0000 Received: by mail-qv1-xf29.google.com with SMTP id 6a1803df08f44-6c524b4f8b9so43097596d6.3 for ; Mon, 23 Sep 2024 08:15:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1727104531; x=1727709331; darn=lists.postgresql.org; h=to:date:message-id:subject:mime-version:from :content-transfer-encoding:from:to:cc:subject:date:message-id :reply-to; bh=jthTvHA5aCYR7vpXJgeQlTYbJ+eiaP06mM7YGmjW0xw=; b=izy82wYXYsEY1pen0vcy08g1rimvyyY0mSD5ceeucPGiUTm5Hsycr62T2Gq56c105+ TLwt+rP8AUL+czWOy4XFMXn4/5OwgAKEaHdyOve6pnpnZ2UPErHgH7L/k1b1yozgj/gS sRDrwNtQO0U25cS4mmIKkcTdYl0Vkwn+Rgkb8Xo8vYGDFnXmC50SoOTBEM5CtHSUxziq 5BczDYwz09EmtuWdgB4y/rAyFl2vvfAOk0qiSyg8CEfww2RUCyKr+IzAqvV4aNTgWCj6 5hXZwqQbr+gEmrB7OqvwJXrnmBJZt/N1/yRO3VuHkkDIsP+8vdfbGb248ZYQ8/nBdOzb eR6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727104531; x=1727709331; h=to:date:message-id:subject:mime-version:from :content-transfer-encoding:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=jthTvHA5aCYR7vpXJgeQlTYbJ+eiaP06mM7YGmjW0xw=; b=BGdwO8B1E+kgAb+8A/GT/aN5L38qULKGJlA5HayH5QdxFUFWnD50R01dgwGlj25KSe j7BU/ZnUodfgFsRQ+R8KQnaNu83aa61Z+8EY0Bs0cs1uhOn2ar3ArYuPnQNdevDck/nI yf5UZeJAmngg4uye5AXoPbri781byH8Sr5zcVnyxt0Q3h5KMTmKuXnlx1V75JRKxxC95 FnOD7/si6NfQkaOugMUs0KxRNpUMDiBw1vlPJOLGCkX6y1YdkTWglzID9fouH9K3gMut A+pa/gXZXJXYdUeIWkmZSwCaQm7StiXLw4o6aW+fjQ5rGG5+woP0RuFByMc7lwJ6CsKv pmsw== X-Gm-Message-State: AOJu0YzHSs6mxEFhIsPEyzNMzu4tWMXer27wLhrKtmskrBe1p307MjsS cEMZYV7IROOt6Nq5fWaZItz5tlBtRZ4bosu50WzRfyuwb3v5zqPFdBPTGA== X-Google-Smtp-Source: AGHT+IEhwKFrHOojReplZTZ+DElU1taxPECJBalT3IO1F1B2XoEGjTCm8WiCd0/wt4t0UTlZuO7AXg== X-Received: by 2002:a05:6214:3d87:b0:6c4:6f3e:d955 with SMTP id 6a1803df08f44-6c7bc6ce13cmr231926586d6.10.1727104531393; Mon, 23 Sep 2024 08:15:31 -0700 (PDT) Received: from smtpclient.apple (syn-074-132-056-143.res.spectrum.com. [74.132.56.143]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6c75e57a156sm47864316d6.109.2024.09.23.08.15.30 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 23 Sep 2024 08:15:31 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable From: Wizard Brony Mime-Version: 1.0 (1.0) Subject: Repeatable Read Isolation Level "transaction start time" Message-Id: <9CEBFAC7-4372-4FF0-8124-FFFE834B03C6@gmail.com> Date: Mon, 23 Sep 2024 11:15:20 -0400 To: pgsql-general@lists.postgresql.org X-Mailer: iPhone Mail (21E236) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk https://www.postgresql.org/docs/16/transaction-iso.html#XACT-REPEATABLE-READ= The PostgreSQL documentation for the Repeatable Read Isolation Level states t= he following: =E2=80=9CUPDATE, DELETE, MERGE, SELECT FOR UPDATE, and SELECT FOR SHARE comm= ands behave the same as SELECT in terms of searching for target rows: they w= ill only find target rows that were committed as of the transaction start ti= me.=E2=80=9D What is defined as the "transaction start time?" When I first read the state= ment, 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 s= tart time is actually "the start of the first non-transaction-control statem= ent in the transaction" (as mentioned earlier in the section). Is my conclus= ion correct, or am I misunderstanding the documentation?=