Re: Add new error_action COPY ON_ERROR "log"

torikoshia <torikoshia@oss.nttdata.com>

From: torikoshia <torikoshia@oss.nttdata.com>
To: Bharath Rupireddy <bharath.rupireddyforpostgres@gmail.com>
Cc: Masahiko Sawada <sawada.mshk@gmail.com>, Michael Paquier <michael@paquier.xyz>, "David G. Johnston" <david.g.johnston@gmail.com>, jian.universality@gmail.com, Pgsql Hackers <pgsql-hackers@postgresql.org>, Alexander Korotkov <aekorotkov@gmail.com>
Date: 2024-03-28T12:36:26Z
Lists: pgsql-hackers
On 2024-03-28 17:27, Bharath Rupireddy wrote:
> On Thu, Mar 28, 2024 at 1:43 PM torikoshia <torikoshia@oss.nttdata.com> 
> wrote:
>> 
>> Attached patch fixes the doc,
> 
> May I know which patch you are referring to? And, what do you mean by
> "fixes the doc"?

Ugh, I replied to the wrong thread.
Sorry for making you confused and please ignore it.

>> but I'm wondering perhaps it might be
>> better to modify the codes to prohibit abbreviation of the value.
> 
> Please help me understand the meaning here.
> 
>> When seeing the query which abbreviates ON_ERROR value, I feel it's 
>> not
>> obvious what happens compared to other options which tolerates
>> abbreviation of the value such as FREEZE or HEADER.
>> 
>>    COPY t1 FROM stdin WITH (ON_ERROR);
>> 
>> What do you think?
> 
> So, do you mean to prohibit ON_ERROR being specified without any value
> like in COPY t1 FROM stdin WITH (ON_ERROR);? If yes, I think all the
> other options do allow that [1].
> 
> Even if we were to do something like this, shall we discuss this 
> separately?
> 
> Having said that, what do you think of the v13 patch posted upthread?
> 
> [1]
> postgres=# COPY t1 FROM stdin WITH (
> DEFAULT         ESCAPE          FORCE_QUOTE     HEADER          QUOTE
> DELIMITER       FORCE_NOT_NULL  FORMAT          NULL
> ENCODING        FORCE_NULL      FREEZE          ON_ERROR
> 
> postgres=# COPY t1 FROM stdin WITH ( QUOTE );
> ERROR:  relation "t1" does not exist
> postgres=# COPY t1 FROM stdin WITH ( DEFAULT );
> ERROR:  relation "t1" does not exist
> postgres=# COPY t1 FROM stdin WITH ( ENCODING );
> ERROR:  relation "t1" does not exist


-- 
Regards,

--
Atsushi Torikoshi
NTT DATA Group Corporation



Commits

  1. Add new COPY option LOG_VERBOSITY.

  2. Add tests for more row patterns with COPY FROM .. (ON_ERROR ignore)

  3. Support writing "CREATE/ALTER TABLE ... SET STORAGE DEFAULT".