Боюсь, так что вы все равно не сможете это изменить. Это по замыслу. У него немного другая семантика. Внутри plpgsql вы можете вызвать прямое исключение PostgreSQL. Это невозможно в Python - исключение pypy plpy.Error вызывается, перехватывается и преобразуется в исключения PostgreSQL - «plpy.Error» - это имя исключения. Может быть любое имя любого другого исключения.
Соглашение об исключениях Python в этом случае - level: name: text
, которое вы можете увидеть
ERROR: ZeroDivisionError: division by zero
ERROR: plpy.Error: some text
, и естьнет возможности как это изменить. Это разработано - это соглашение.
PLpgSQL не имеет этого соглашения - но PLpgSQL гораздо более интегрирован с Postgres. У него нет собственной среды, есть свои исключения.