Over het algemeen niet. De tweede transactie is alleen invoegen, dus tenzij er een unieke indexcontrole of andere trigger moet plaatsvinden, kunnen de gegevens onvoorwaardelijk worden ingevoegd. In het geval van een unieke index (inclusief primaire sleutel), wordt deze geblokkeerd als beide transacties rijen bijwerken met dezelfde waarde, bijvoorbeeld:
-- Session 1 -- Session 2
CREATE TABLE t (x INT PRIMARY KEY);
BEGIN;
INSERT INTO t VALUES (1);
BEGIN;
INSERT INTO t VALUES (1); -- blocks here
COMMIT;
-- finally completes with duplicate key error
Bij updates die van invloed kunnen zijn op invoegingen door de andere transactie ligt het minder voor de hand. Ik begrijp dat PostgreSQL in dit geval nog geen "echte" serialiseerbaarheid ondersteunt. Ik weet niet hoe vaak dit wordt ondersteund door andere SQL-systemen.
Zie http://www.postgresql.org/docs/current/interactive/ mvcc.html