What happens to a primary key b-tree index when a table tuple is deleted by a transaction? - Mailing list pgsql-general

From Luby Liao
Subject What happens to a primary key b-tree index when a table tuple is deleted by a transaction?
Date
Msg-id CAEtN0SEUqHAz_G+_Ykdbd9JZpPiN-UHMiayeoEHgUSra0UHuhw@mail.gmail.com
Whole thread Raw
Responses Re: What happens to a primary key b-tree index when a table tuple is deleted by a transaction?  (Pavel Stehule <pavel.stehule@gmail.com>)
Re: What happens to a primary key b-tree index when a table tuple is deleted by a transaction?  (Peter Geoghegan <peter@2ndquadrant.com>)
List pgsql-general
Bruce Momjian's book says that (p109)

When POSTGRESQL updates a row, it keeps the old copy of the row in the table file and writes a new one. The old row is marked as expired, and used by other transactions still viewing the database in its prior state. Deletions are similarly marked as expired, but not removed from the table file. 

If the b-tree changes for the transaction, would it not become broken for other transactions? 
Can anyone  tell me how Postgres handles this?  Thank you, Luby    

pgsql-general by date:

Previous
From: Pavel Stehule
Date:
Subject: Re: large INSERT leads to "invalid memory alloc"
Next
From: Pavel Stehule
Date:
Subject: Re: What happens to a primary key b-tree index when a table tuple is deleted by a transaction?