Re: Custom Constraint Violation Errors

From: Richard Broersma <richard(dot)broersma(at)gmail(dot)com>
To: Michael Musenbrock <redeamer(at)gmx(dot)net>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Custom Constraint Violation Errors
Date: 2011-11-07 23:06:52
Message-ID: CABvLTWFCKy2_YRCS17+mQCz7CDkAikheeDYesfOk5KDDvnsfJA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Mon, Nov 7, 2011 at 2:47 PM, Michael Musenbrock <redeamer(at)gmx(dot)net> wrote:

> was intentionally looking for a trigger firing on violating of an
> already existing constraint.
>
> So am I got that right, that If I want to have eg custom error messages
> for a foreign
> key violation, I need to replace all fkeys by trigger functions?!

I see. The short answer is, while it is possible to custom make your
own constraint triggers that emulate foreign keys, don't do it. This
would be a maintenance nightmare.

I'd be more maintainable to catch these errors in your client
application. Here you would reword these error messages according the
business rules of your client application.

If you insist that the server rewrite your error messages, then you'll
need to create stored functions that will preform the desired
operations; catch any possible errors; and then throw the altered
error messages. But remember that catching errors and throwing them
will have a performance penalty.

http://www.postgresql.org/docs/9.1/interactive/plpgsql-control-structures.html#PLPGSQL-ERROR-TRAPPING

--
Regards,
Richard Broersma Jr.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Edson Richter 2011-11-07 23:30:04 Re: Simple question on SELECT
Previous Message John R Pierce 2011-11-07 22:54:27 Re: Simple question on SELECT