Avons-nous un try catch équivalent dans Postgres? J'ai écrit quelques fonctions définies par l'utilisateur qui sont appelées par déclencheur. Je ne veux pas ignorer les erreurs afin que le flux ne soit pas interrompu.
L'équivalent de la gestion des erreurs TRY-CATCH dans PostgreSQL est un bloc de code de cette manière:
[ <<label>> ]
[ DECLARE
declarations ]
BEGIN
statements
EXCEPTION
WHEN condition [ OR condition ... ] THEN
handler_statements
[ WHEN condition [ OR condition ... ] THEN
handler_statements
... ]
END;
Jetez un œil aux documents de Postgres sur Erreurs de piégeage
Si vous souhaitez l'utiliser dans vos fonctions, gardez à l'esprit qu'il ne peut être utilisé qu'à l'intérieur des fonctions PL/pgSQL.