Re: how to force an insert before Raise Exception? - Mailing list pgsql-general

From Craig Ringer
Subject Re: how to force an insert before Raise Exception?
Date
Msg-id 4DAFD292.2050609@postnewspapers.com.au
Whole thread Raw
In response to how to force an insert before Raise Exception?  (giova <giovainstall2@yahoo.fr>)
List pgsql-general
On 19/04/11 21:39, giova wrote:
> Hi.
>
> I made a function that Raise exception with some conditions.
> No problem with that, it is the goal.
>
> My problem is that i want to do an INSERT into a log table before to raise
> the exception. But RAISE EXCEPTION cancels my Insert.
>
> How to force the insert to not being cancelled please

You can't have part of a transaction cancelled without cancelling all of
it. The INSERT is part of the transaction.

If you really need to insert a record in a log table before rolling back
a transaction, you need to use dblink to do the insert in another
transaction.

Personally, I'd enable PostgreSQL's CSV logging and then process the log
files, so you can include your logging info in the Pg logs. Using
logging tables will be way more hassle than it's worth.

--
Craig Ringer

pgsql-general by date:

Previous
From: Toby Corkindale
Date:
Subject: Poor performance of btrfs with Postgresql
Next
From: Craig Ringer
Date:
Subject: Re: Questions about Partitioning