Re: Make COPY format extendable: Extract COPY TO format implementations

From: Vladlen Popolitov <v(dot)popolitov(at)postgrespro(dot)ru>
To: Álvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: Sutou Kouhei <kou(at)clear-code(dot)com>, sawada(dot)mshk(at)gmail(dot)com, zhjwpku(at)gmail(dot)com, michael(at)paquier(dot)xyz, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Make COPY format extendable: Extract COPY TO format implementations
Date: 2025-02-05 15:26:14
Message-ID: 02688b3559230fa05ae26459ad284442@postgrespro.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Álvaro Herrera писал(а) 2025-02-05 18:49:
> On 2025-Feb-03, Vladlen Popolitov wrote:
>
>> You use FORMAT option to add new formats, filling it with routine name
>> in shared library. As result any caller can call any routine in
>> PostgreSQL
>> kernel.
>> I think, it will start competition, who can find most dangerous
>> routine
>> to call just from COPY FROM command.
>
> Hah.
>
> Maybe it would be a better UI to require that COPY format handlers are
> registered explicitly before they can be used:
>
> CREATE ACCESS METHOD copy_yaml TYPE copy HANDLER copy_yaml_handler;
>
> ... and then when the FORMAT is not recognized as one of the hardcoded
> methods, we go look in pg_am for one with amtype='c' and the given
> name.
> That gives you the function that initializes the Copy state.
>
> This is convenient enough because system administrators can add COPY
> formats that anyone can use, and doesn't allow to call arbitrary
> functions via COPY.

Yes! It is what I propose. This looks much safer and already used in
access methods creation.

--
Best regards,

Vladlen Popolitov.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Mohamed Badawy 2025-02-05 15:29:15 Inquiry About Google Summer of Code Projects
Previous Message Ilia Evdokimov 2025-02-05 15:19:44 Re: Showing applied extended statistics in explain Part 2