Re: INSERT ALL with DML ERROR Logging replacement in PostgreSQL

From: Gilles Darold <gilles(at)darold(dot)net>
To: Jagmohan Kaintura <jagmohan(at)tecorelabs(dot)com>
Cc: "pgsql-generallists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: INSERT ALL with DML ERROR Logging replacement in PostgreSQL
Date: 2022-06-21 08:54:21
Message-ID: e2b4b11d-a8a4-93aa-8f89-1063f95b43a6@darold.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Le 21/06/2022 à 10:28, Jagmohan Kaintura a écrit :
> Hi Gilles,
>
> I was going though this earlier today but didn't compiled it as I read
> it may not be able to capture the errors if we have below type of
> statement and most of our statements are of INSERT ..
> SELECT statements only.
>
> The form |INSERT INTO <tablename> SELECT ...| will not have the same
> behavior than in Oracle. It will not stored the successful insert and
> logged the rows in error. This is not supported because it is a single
> transaction for PostgreSQL and everything is rolled back in case of error.
>
> Our all statements are of that form will it be still useful.

Right, this was not obvious in your post, but yes if you are using
INSERT + SELECT this is not possible with the current version of this
extension. Maybe that could be possible by rewriting internally the
query to loop over the result of the select and generate an insert per
row returned, but with performances lost of courses.

Best regards,

--
Gilles Darold
http://www.darold.net/

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Andreas 'ads' Scherbaum 2022-06-21 11:57:51 Reminder: Call for Papers for PostgreSQL Conference Europe 2022 is closing soon!
Previous Message Jagmohan Kaintura 2022-06-21 08:28:27 Re: INSERT ALL with DML ERROR Logging replacement in PostgreSQL