Обсуждение: Logg errors during UPDATE

Поиск
Список
Период
Сортировка

Logg errors during UPDATE

От
Thomas Kellerer
Дата:
Hi,

with Oracle I have the ability to tell the system to log errors during a long transaction into a separate table and
proceedwith the statement. This is quite handy when updating large tables and the update for one out of a million rows
fails. 

The syntax is something like this:

UPDATE <affecting a lot of rows>
LOG ERRORS INTO target_log_table;

Any row that can not be updated will logged into the specified table (which needs to have a specific format of course)
andthe statement continues. You can add a limit on how many errors should be "tolerated".  
This works for INSERT and DELETE as well.

Is there something similar in Postgres? Or a way how I could simulate this?

Cheers
Thomas

Re: Logg errors during UPDATE

От
Ivan Pavlov
Дата:
Neiter LOG ERRORS nor REJECT LIMIT are implemented in PostgreSQL,
though I agree they may be useful. Both can be simulated with a custom
stored procedure which loops over a cursor and updates row-by-row,
trapping errors along the way. This will, of course, be slower.

regards,

Ivan Pavlov


On Dec 12, 4:34 am, spam_ea...@gmx.net (Thomas Kellerer) wrote:
> Hi,
>
> with Oracle I have the ability to tell the system to log errors during a long transaction into a separate table and
proceedwith the statement. This is quite handy when updating large tables and the update for one out of a million rows
fails.
>
> The syntax is something like this:
>
> UPDATE <affecting a lot of rows>
> LOG ERRORS INTO target_log_table;
>
> Any row that can not be updated will logged into the specified table (which needs to have a specific format of
course)and the statement continues. You can add a limit on how many errors should be "tolerated". 
> This works for INSERT and DELETE as well.
>
> Is there something similar in Postgres? Or a way how I could simulate this?
>
> Cheers
> Thomas
>
> --
> Sent via pgsql-general mailing list (pgsql-gene...@postgresql.org)
> To make changes to your subscription:http://www.postgresql.org/mailpref/pgsql-general