Souvent vous devez des manipulations avec psql, probablement qu'en tant que personne prudente vous utilisiez cette commande

\set AUTOCOMMIT OFF

Le problème est que si vous tapez mal une commande, tout ce qui précédait sera perdu

exemple

UPDATE TOTO set col1='Nouvelle valeur' where pk_toto=1;
UPDATE TOTO set col1='Nouvelle valeur' where pk_toto=2;
insert into TOTO (pk_toto,col1) value (5,'Nouvelle ligne');

Si la dernière commande est incorrecte (et ici c'est le cas) les 2 commandes updates précédentes vont être annulées.

Pour évitez cela, ajoutez

\set ON_ERROR_ROLLBACK ON

Ainsi seul la commande INSERT est annulé et les 2 commandes updates ne seront pas annulées, n'oubliez pas que les UPDATES ici ne seront sauvegardé que quand vous ferez un COMMIT