In PostgreSQL every update of tuple creates new tuple version. So for some period of time there can be lot of versions of same tuple and different transactions can see different version of tuple (using visibility rules)
Index is updated before transaction complete. How this works with SI?
So when one transaction updated tuple then index entry updated to point to new version of tuple?