Phantom read - ситуация, когда одна транзакция дважды выполняет один и тот же SELECT с одним условием, и во второй раз видит новые строки (фантомы), вставленные другой транзакцией. Dirty read - чтение незакоммиченных данных. Non-repeatable read - та же строка изменилась между чтениями. Уровень Read Committed защищает от dirty read; Repeatable Read (в стандарте SQL) - от non-repeatable read и phantom read (в PostgreSQL - через snapshot isolation).