pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Alexander Korotkov <akorotkov@postgresql.org>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: Add new COPY option SAVE_ERROR_TO
Date: Tue, 16 Jan 2024 21:35:10 +0000
Message-ID: <E1rPr5S-001ke5-GU@gemulon.postgresql.org> (raw)

Add new COPY option SAVE_ERROR_TO

Currently, when source data contains unexpected data regarding data type or
range, the entire COPY fails. However, in some cases, such data can be ignored
and just copying normal data is preferable.

This commit adds a new option SAVE_ERROR_TO, which specifies where to save the
error information. When this option is specified, COPY skips soft errors and
continues copying.

Currently, SAVE_ERROR_TO only supports "none". This indicates error information
is not saved and COPY just skips the unexpected data and continues running.

Later works are expected to add more choices, such as 'log' and 'table'.

Author: Damir Belyalov, Atsushi Torikoshi, Alex Shulgin, Jian He
Discussion: https://postgr.es/m/87k31ftoe0.fsf_-_%40commandprompt.com
Reviewed-by: Pavel Stehule, Andres Freund, Tom Lane, Daniel Gustafsson,
Reviewed-by: Alena Rybakina, Andy Fan, Andrei Lepikhov, Masahiko Sawada
Reviewed-by: Vignesh C, Atsushi Torikoshi

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/9e2d8701194fa1d280b73c024759950c74c1c637

Modified Files
--------------
doc/src/sgml/ref/copy.sgml               | 23 ++++++++++++++-
src/backend/commands/copy.c              | 49 ++++++++++++++++++++++++++++++++
src/backend/commands/copyfrom.c          | 48 +++++++++++++++++++++++++++++++
src/backend/commands/copyfromparse.c     | 17 +++++++----
src/bin/psql/tab-complete.c              |  7 ++++-
src/include/commands/copy.h              | 11 +++++++
src/include/commands/copyfrom_internal.h |  5 ++++
src/test/regress/expected/copy2.out      | 43 ++++++++++++++++++++++++++++
src/test/regress/sql/copy2.sql           | 42 +++++++++++++++++++++++++++
src/tools/pgindent/typedefs.list         |  1 +
10 files changed, 239 insertions(+), 7 deletions(-)



view thread (2+ messages)  latest in thread

Message-ID: <E1rPr5S-001ke5-GU@gemulon.postgresql.org>
Permalink:  ../E1rPr5S-001ke5-GU@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1rPr5S-001ke5-GU@gemulon.postgresql.org

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-committers@postgresql.org
  Cc: akorotkov@postgresql.org, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: Add new COPY option SAVE_ERROR_TO
  In-Reply-To: <E1rPr5S-001ke5-GU@gemulon.postgresql.org>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox