обработка ошибок в процедуре plpgsql

Lists: pgsql-ru-general
From: Serik <uge(at)pochtamt(dot)ru>
To: pgsql-ru-general(at)postgresql(dot)org
Subject: обработка ошибок в процедуре plpgsql
Date: 2006-01-18 13:14:38
Message-ID: 200601181314.k0IDEc8E080499@www2.pochta.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-ru-general

Добрый день !

есть процедура на plpgsql,
в ней делается что-то с БД,
при этом может возникнуть ошибка (нет прав, не
уникальное значение и т.д.)
и PG отменяет всю транзакцию и начинает ругаться.
Как это отработать самому ?
Или как получить код ошибки, минуя конструкцию

begin
ret := x / 0;
EXCEPTION
when division_by_zero then raise info 'Error
!'; return 0;
when connection_failure then return 1;
end;

Кодов ошибок может быть очень много, как не перечилять
их все ?

Спасибо!