<chenb1981@sohu.com> 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