In PostgreSQL the use of savepoints is
required:
start transaction
insert into A
create savepoint
insert into B but fail
rollback to savepoint
insert into C
commit
Otherwise the transaction is, after the failed statement, in a state in which it
can not be used anymore. Is that correct?
Yes.
David J.