Hello 2012/11/25 Luby Liao <lubyliao@xxxxxxxxx>: > 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 What I know - PostgreSQL doesn't modify btree when tuples are deleted. Regards Pavel Stehule -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general