Re: Make COPY format extendable: Extract COPY TO format implementations - Mailing list pgsql-hackers

From Vladlen Popolitov
Subject Re: Make COPY format extendable: Extract COPY TO format implementations
Date
Msg-id 8173c7617b4feb8d41754ca4ecb85959@postgrespro.ru
Whole thread Raw
In response to Re: Make COPY format extendable: Extract COPY TO format implementations  (Masahiko Sawada <sawada.mshk@gmail.com>)
Responses Re: Make COPY format extendable: Extract COPY TO format implementations
List pgsql-hackers
Masahiko Sawada писал(а) 2025-02-05 08:32:
> On Tue, Feb 4, 2025 at 2:46 AM Vladlen Popolitov

>> >>  Standard PostgreSQL realisation for new methods to use USING
>> >>  keyword. Every
>> >> new method could have own options (FORMAT is option of internal 'copy
>> >> from/to'
>> >> methods),
>> >
>> > Ah, I didn't think about USING.
>> >
>> > You suggest "COPY ... USING json" not "COPY ... FORMAT json"
>> > like "CREATE INDEX ... USING custom_index", right? It will
>> > work. If we use this interface, we should reject "COPY
>> > ... FORMAT ... USING" (both of FORMAT/USING are specified).
>> >
>> >
>> I cannot recommend about rejecting, I do not know details
>> of realisation of this part of code. Just idea - FORMAT value
>> could be additional option to copy handler or NULL
>> if it is omitted.
>>   If you add extensibility, than every handler will be the
>> extension, that can handle one or more formats.
> 
> Hmm, if we use the USING clause to specify the format type, we end up
> having two ways to specify the format type (e.g., 'COPY ... USING
> text' and 'COPY .. WITH (format = text)'), which seems to confuse
> users.
WITH clause has list of options defined by copy method define in USING.
The clause WITH (format=text) has options defined for default copy 
method,
but other methods will define own options. Probably they do not need
the word 'format' in options. The same as in index access methods.
  For example, copy method parquete:
COPY ... USING parquete WITH (row_group_size=1000000)
  copy method parquete need and will define the word 'row_group_size'
in options, the word 'format' will be wrong for it.
-- 
Best regards,

Vladlen Popolitov.



pgsql-hackers by date:

Previous
From: Lukas Fittl
Date:
Subject: Re: [PATCH] Optionally record Plan IDs to track plan changes for a query
Next
From: "Hayato Kuroda (Fujitsu)"
Date:
Subject: RE: Adding a '--clean-publisher-objects' option to 'pg_createsubscriber' utility.