<chenb1981@xxxxxxxx> wrote >a table is created and an index is created on that table > > then one row is updated > > what happens to the index file? > ( is the index to old row deleted?) > Nothing happened to the index file. The index row is not deleted since there is no MVCC information associated with index. See the comments in ExecDelete(): * Note: Normally one would think that we have to delete index tuples * associated with the heap tuple now... * * ... but in POSTGRES, we have no need to do this because VACUUM will * take care of it later. We can't delete index tuples immediately * anyway, since the tuple is still visible to other transactions. Regards, Qingqing