mirror of
https://github.com/postgres/postgres.git
synced 2025-07-28 23:42:10 +03:00
Add REJECT_LIMIT option to the COPY command.
Previously, when ON_ERROR was set to 'ignore', the COPY command would skip all rows with data type conversion errors, with no way to limit the number of skipped rows before failing. This commit introduces the REJECT_LIMIT option, allowing users to specify the maximum number of erroneous rows that can be skipped. If more rows encounter data type conversion errors than allowed by REJECT_LIMIT, the COPY command will fail with an error, even when ON_ERROR = 'ignore'. Author: Atsushi Torikoshi Reviewed-by: Junwang Zhao, Kirill Reshke, jian he, Fujii Masao Discussion: https://postgr.es/m/63f99327aa6b404cc951217fa3e61fe4@oss.nttdata.com
This commit is contained in:
@ -44,6 +44,7 @@ COPY { <replaceable class="parameter">table_name</replaceable> [ ( <replaceable
|
||||
FORCE_NOT_NULL { ( <replaceable class="parameter">column_name</replaceable> [, ...] ) | * }
|
||||
FORCE_NULL { ( <replaceable class="parameter">column_name</replaceable> [, ...] ) | * }
|
||||
ON_ERROR <replaceable class="parameter">error_action</replaceable>
|
||||
REJECT_LIMIT <replaceable class="parameter">maxerror</replaceable>
|
||||
ENCODING '<replaceable class="parameter">encoding_name</replaceable>'
|
||||
LOG_VERBOSITY <replaceable class="parameter">verbosity</replaceable>
|
||||
</synopsis>
|
||||
@ -413,6 +414,24 @@ COPY { <replaceable class="parameter">table_name</replaceable> [ ( <replaceable
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><literal>REJECT_LIMIT</literal></term>
|
||||
<listitem>
|
||||
<para>
|
||||
Specifies the maximum number of errors tolerated while converting a
|
||||
column's input value to its data type, when <literal>ON_ERROR</literal> is
|
||||
set to <literal>ignore</literal>.
|
||||
If the input causes more errors than the specified value, the <command>COPY</command>
|
||||
command fails, even with <literal>ON_ERROR</literal> set to <literal>ignore</literal>.
|
||||
This clause must be used with <literal>ON_ERROR</literal>=<literal>ignore</literal>
|
||||
and <replaceable class="parameter">maxerror</replaceable> must be positive <type>bigint</type>.
|
||||
If not specified, <literal>ON_ERROR</literal>=<literal>ignore</literal>
|
||||
allows an unlimited number of errors, meaning <command>COPY</command> will
|
||||
skip all erroneous data.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term><literal>ENCODING</literal></term>
|
||||
<listitem>
|
||||
|
Reference in New Issue
Block a user