Skipping uncommitted inserts during selects

select queries on data only locked tables do not block on uncommitted inserts when the following conditions are true::

Under these conditions scans will skip such a row.

The only exception to this rule is if the transaction doing the uncommitted insert was overwriting an uncommitted delete of the same row done earlier by the same transaction. In this case, scans will block on the uncommitted inserted row.