Logg errors during UPDATE

Started by Thomas Kellererover 17 years ago2 messagesgeneral
Jump to latest
#1Thomas Kellerer
spam_eater@gmx.net

Hi,

with Oracle I have the ability to tell the system to log errors during a long transaction into a separate table and proceed with 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

#2Ivan Pavlov
ivan.pavlov@gmail.com
In reply to: Thomas Kellerer (#1)
Re: Logg errors during UPDATE

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

Show quoted text

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 proceed with 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