Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lzPH9-0001b6-Sa for pgsql-docs@arkaria.postgresql.org; Fri, 02 Jul 2021 19:56:35 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lzPH8-0004mu-PN for pgsql-docs@arkaria.postgresql.org; Fri, 02 Jul 2021 19:56:34 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lzPH8-0004mm-Jb for pgsql-docs@lists.postgresql.org; Fri, 02 Jul 2021 19:56:34 +0000 Received: from momjian.us ([72.94.173.45]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lzPH6-0006Gg-1w for pgsql-docs@lists.postgresql.org; Fri, 02 Jul 2021 19:56:34 +0000 Received: from bruce by momjian.us with local (Exim 4.92) (envelope-from ) id 1lzPH4-0001ju-Km; Fri, 02 Jul 2021 15:56:30 -0400 Date: Fri, 2 Jul 2021 15:56:30 -0400 From: Bruce Momjian To: mossa708496@gmail.com, pgsql-docs@lists.postgresql.org Subject: Re: docs issue in transactions section Message-ID: <20210702195630.GC25522@momjian.us> References: <162525307568.700.736681752884243253@wrigleys.postgresql.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <162525307568.700.736681752884243253@wrigleys.postgresql.org> User-Agent: Mutt/1.10.1 (2018-07-13) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Fri, Jul 2, 2021 at 07:11:15PM +0000, PG Doc comments form wrote: > The following documentation comment has been logged on the website: > > Page: https://www.postgresql.org/docs/13/transaction-iso.html > Description: > > 13.2.1. Read Committed Isolation Level > Read Committed is the default isolation level in PostgreSQL. When a > transaction uses this isolation level, a SELECT query (without a FOR > UPDATE/SHARE clause) sees only data committed before the query began; it > never sees either uncommitted data or changes committed during query > execution by concurrent transactions. In effect, a SELECT query sees a > snapshot of the database as of the instant the query begins to run. However, > SELECT does see the effects of previous updates executed within its own > transaction, even though they are not yet committed. Also note that two > successive SELECT commands can see different data, even though they are > within a single transaction, if other transactions commit changes after the > first SELECT starts and before the second SELECT starts. > > I don't understand this very clearly: " it never sees either uncommitted > data or changes committed during query execution by concurrent > transactions." and this statement " Also note that two successive SELECT > commands can see different data, even though they are within a single > transaction, if other transactions commit changes after the first SELECT > starts and before the second SELECT starts." Uh, what is your question? Does page 11 of this help? https://momjian.us/main/writings/pgsql/mvcc.pdf#page=11 -- Bruce Momjian https://momjian.us EDB https://enterprisedb.com If only the physical world exists, free will is an illusion.