Postgres_FDW doc doesn't specify TYPE support in Remote Execution Options
Hi, 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 <https://doxygen.postgresql.org/shippable_8c_source.html>/lookup_shippable() function, I found that type is also pushed down. [image: image.png] Does this require updating the docs? Can I raise a PR to do so? Thank you! :) -- Regards Rajan Pandey
Re: Postgres_FDW doc doesn't specify TYPE support in Remote Execution Options
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 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 update_lookup_shippable_comments.patch Description: Binary data
Re: Postgres_FDW doc doesn't specify TYPE support in Remote Execution Options
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 ; 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 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 > 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