Как правило, нет.Вторая транзакция только для вставки, поэтому, если не требуется проверка уникального индекса или другой триггер, данные могут быть вставлены безоговорочно.В случае уникального индекса (включая первичный ключ) он будет блокироваться, если обе транзакции обновляют строки с одинаковым значением, например:
-- 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
В случае обновлений вещи менее очевидны, что может повлиять навставки по другой транзакции.Я понимаю, что PostgreSQL еще не поддерживает «истинную» сериализуемость в этом случае.Я не знаю, насколько часто это поддерживается другими системами SQL.
См. http://www.postgresql.org/docs/current/interactive/mvcc.html