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

Поиск
Список
Период
Сортировка
От Luby Liao
Тема What happens to a primary key b-tree index when a table tuple is deleted by a transaction?
Дата
Msg-id CAEtN0SEUqHAz_G+_Ykdbd9JZpPiN-UHMiayeoEHgUSra0UHuhw@mail.gmail.com
обсуждение исходный текст
Ответы 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>)
Список 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 по дате отправления:

Предыдущее
От: Pavel Stehule
Дата:
Сообщение: Re: large INSERT leads to "invalid memory alloc"
Следующее
От: Pavel Stehule
Дата:
Сообщение: Re: What happens to a primary key b-tree index when a table tuple is deleted by a transaction?