I am selecting a dataset of records from table 'tablename' and then iterating through the dataset, updating one record at time (UPDATE tablename SET... WHERE id=x).
Each update is done within a transaction block, and each one sets relation RowExclusiveLocks on the
tablename
tablename_pkey
and indexes in tablename
However I was a little surprised to see a page SIReadLock to be set on
tablename_pkey
Under what circumstances would this happen ?