Re: Postgres_FDW doc doesn't specify TYPE support in Remote Execution Options

From: Rajan Pandey <rajanpandey2508(at)gmail(dot)com>
To: Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>, pgsql-docs(at)lists(dot)postgresql(dot)org
Cc: pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Re: Postgres_FDW doc doesn't specify TYPE support in Remote Execution Options
Date: 2024-04-10 10:24:40
Message-ID: CAPr50MkLownF=bFqg749b2VCmbd383jqnu=neWs5quQkhs_i-g@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs pgsql-general

Hi, please ignore my last email about the patch. :/

I have determined that pushdown of custom data types through fdw in fact
does make sense.

Consider this query:
SELECT * FROM customers WHERE <user_defined_type_col>
<user_defined_operator> <user_defined_function>;

To push down the WHERE clause to the foreign servers, both local and
foreign server must have the user_defined database objects (else the query
won't work on the foreign servers).
For built-in types, operators, functions, Postgres knows that pushdown is
safe as the foreign servers the db objects. But for the user_defined db
objects, postgres won't know. Hence, user_defined_type_col needs to be
pushed down explicitly.

On Tue, Apr 9, 2024 at 8:06 PM Rajan Pandey <rajanpandey2508(at)gmail(dot)com>
wrote:

> Hi team 😃.
>
> In the
> https://www.postgresql.org/docs/current/postgres-fdw.html#POSTGRES-FDW-OPTIONS-REMOTE-EXECUTION doc, it
> mentions that Immutable Functions and Hi can be pushed down using
> `extensions` option for foreign server.
>
> But it does not mention TYPE. In the shippable.c
> <https://doxygen.postgresql.org/shippable_8c_source.html>/lookup_shippable()
> function, I found a comment that indicates that type is also pushed down.
> Hece, I have removed TYPE from the comments, assuming that it does not make
> sense to push down a data type, and only functions and operations can be
> pushed down. Please let me know if my assumption is incorrect. 🙂
>
> I have added my patch file with the mail. Thanks!
>
> On Tue, Apr 9, 2024 at 4:06 PM Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>
> wrote:
>
>> On Tue, 2024-04-09 at 15:49 +0530, Rajan Pandey wrote:
>> > I was reading
>> https://www.postgresql.org/docs/current/postgres-fdw.html#POSTGRES-FDW-OPTIONS-REMOTE-EXECUTION
>> > and found that it mentions that Immutable Functions and Operators can
>> > be pushed down using `extensions` option for foreign server.
>> >
>> > But it does not mention about TYPE. In
>> the shippable.c/lookup_shippable()
>> > function, I found that type is also pushed down.
>>
>> The comment only says that data types may be shippable, but not that
>> they are actually shipped. Can you think of a case where a data type
>> would be shipped to a foreign server? I wrote a foreign data wrapper,
>> and I cannot think of such a case.
>>
>> Perhaps the function comment should be adjusted by removing the
>> parenthesis
>> or changing it to "(operator/function/...)".
>>
>> > Does this require updating the docs? Can I raise a PR to do so? Thank
>> you! :)
>>
>> You would send a patch against the "master" branch to the pgsql-docs list
>> for that.
>>
>> Yours,
>> Laurenz Albe
>>
>
>
> --
> Regards
> Rajan Pandey
>

--
Regards
Rajan Pandey

In response to

Browse pgsql-docs by date

  From Date Subject
Next Message Daniel Gustafsson 2024-04-10 12:11:17 Re: tools.ietf.org is decommissioned and our links are redirected
Previous Message PG Doc comments form 2024-04-10 10:24:32 Postgres_FDW doc doesn't specify TYPE support in Remote Execution Options

Browse pgsql-general by date

  From Date Subject
Next Message Matthias Apitz 2024-04-10 11:09:48 mystery with postgresql.auto.conf
Previous Message John Bateson 2024-04-10 10:11:21 Some advice need after a 20 year gap after Ingres/GUIs