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 1t8P3A-003y4L-Uf for pgsql-docs@arkaria.postgresql.org; Tue, 05 Nov 2024 19:17:12 +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 1t8P38-0002oj-0Z for pgsql-docs@arkaria.postgresql.org; Tue, 05 Nov 2024 19:17:10 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1t8P37-0002oZ-J0 for pgsql-docs@lists.postgresql.org; Tue, 05 Nov 2024 19:17:10 +0000 Received: from mail-ej1-x62a.google.com ([2a00:1450:4864:20::62a]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1t8P35-000LmJ-60 for pgsql-docs@lists.postgresql.org; Tue, 05 Nov 2024 19:17:08 +0000 Received: by mail-ej1-x62a.google.com with SMTP id a640c23a62f3a-a998a5ca499so775033766b.0 for ; Tue, 05 Nov 2024 11:17:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cybertec.at; s=cybertec.at; t=1730834225; x=1731439025; darn=lists.postgresql.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:to:from:subject:message-id:from:to:cc:subject:date :message-id:reply-to; bh=PB39gTtxjoe0/u+azt64h9qUgGkXA9TYR7aJj8ThLnQ=; b=dXABUdc9JV/erAquZnKz79OI2v0vF7AuvW/S7qu91yecjSHKgCiyf8va813PH70xRH 5JQ3nXgbez2eNv663OsQvWSIXWdiBp9+fi6bACkp0nXb/8KHbBY554H4JVD76D9sjCGy o2VigsIOpdtko+o3VJpqxln2VQ65MSaNG8d/M= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1730834225; x=1731439025; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:to:from:subject:message-id:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=PB39gTtxjoe0/u+azt64h9qUgGkXA9TYR7aJj8ThLnQ=; b=YKEQlRCiBA1QtumPckklczj3EzXTZMMdC/L25yTO7neZzdlrh/LxURDFgUDO8a6o13 pTmDHOLHX7e+P/3D8cgBnkFygrf785cwWg8BUrFTWG6Tws7fVElqqGh3SuvQeHj7E4KY HY02M/xvZV0guaAYVLYjhu/LN+PDLwSJRlA7/UPAMzMY1iJoOcdCL/mVjjfuljgQeX4U mESg5zxC5RLMi6ndjhIEpn9PCAeo4Idc7ixOzC1qg6zTNst7VXhhAoby4tKmGMf81uXd TkYosi9dYFqLToN5ZvHsOrD2zB6r7cXCZPArzQYvqVUo7YdV5Zggqbs1Jj8uZvJjskSe K4gg== X-Forwarded-Encrypted: i=1; AJvYcCWWaDuMwCvc2Rak2RQuqvjrRaYkb0l/kiTihfeQZM33Bc4XlSMRuCn2T4LA7xqJYYfV8ZwE83U2zn3t@lists.postgresql.org X-Gm-Message-State: AOJu0YwrIwINJ70H/OT1XMpBnC9z674DQIm4rM7c6NKR2j4KcF/PHafm LMkEOhfMNaa7r1b4YoPKiahwHFyCidU7dazK1Wil/sEeU163Hhu3WvWyxuvOM7I= X-Google-Smtp-Source: AGHT+IEvf6uU4c0SRjS00sZQZKeHrOCJklmqOrSt3OPh5TRTXBQmdLP63IJR/+F+ljweOuoDTsacbw== X-Received: by 2002:a17:907:9490:b0:a9a:8042:bbb8 with SMTP id a640c23a62f3a-a9e655b99a5mr1584773866b.47.1730834225338; Tue, 05 Nov 2024 11:17:05 -0800 (PST) Received: from localhost.localdomain ([46.226.60.98]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-a9eb1813a33sm175693166b.185.2024.11.05.11.17.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Nov 2024 11:17:04 -0800 (PST) Message-ID: Subject: Re: Serializable Transaction Anomoly From: Laurenz Albe To: Daniel Bickler , "pgsql-docs@lists.postgresql.org" Date: Tue, 05 Nov 2024 20:17:04 +0100 In-Reply-To: References: <173081912264.705.9788227512147158659@wrigleys.postgresql.org> <12ba622133fe91e9ecfb5a74ae80d74253d1956b.camel@cybertec.at> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.52.4 (3.52.4-2.fc40) MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Tue, 2024-11-05 at 18:41 +0000, Daniel Bickler wrote: > The way I interpreted the documentation, the example I ran into was a fal= se negative > according to the definition of a serialization anomaly, because it=E2=80= =99s serial in one > ordering but not the other which seems incorrect with =E2=80=9Call possib= le=E2=80=9D. > =C2=A0 > I think where I don=E2=80=99t fully understand is the documentation seems= to imply all serial > orderings must be valid to commit a SERIALIZABLE transaction but it seems= like just > one serial ordering must be valid? You seem to think that transactions are serializable if their result is con= sistent with all possible serial execution orders. But that is not so. What the documentation says is: It is an serialization anomaly (that is, not serializable) if the execution= is *in*consistent will all possible serial executions. That implies: It is serializable if the execution is consistent with one se= rial execution. Yours, Laurenz Albe