A informação dessa tarefa está incorreta. Caso quiséssemos que apenas parte do código fosse "cancelado" no caso de um erro, basta deixar o código do jeito que está, pois o código está inserindo normalmente o instrutor e apenas a parte do código posterior ao erro capturado que está sendo ignorada. No minuto 5:45 da tarefa anterior o professor se equivocou ao informar que o Postgres ignora todo o bloco de statements, dando rollback nas instruções já executadas. A própria documentação que ele mostra diz que apenas o processamento posterior ao erro capturado é abandonado. Ao realizar testes, é possível verificar que, de fato, os inserts anteriores ao erro são executados normalmente.