Search Postgresql Archives

Re: How can I pushdown of functions used in targetlist with FDW ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Greetings,

* Tom Lane (tgl@xxxxxxxxxxxxx) wrote:
> shigeo Hirose <shigeo.hirose@xxxxxxxxxxxxx> writes:
> > How can I pushdown of functions used in targetlist with FDW ?
> 
> There is, AFAIK, no provision for that.  There's not a lot of
> reason to consider adding it either, because there's no reason
> to suppose that the remote node can run such a function any
> faster than the local node.  So the difficulty and risk of
> determining/assuming that f(x) on the local node is the same
> as f(x) on the remote node doesn't seem like it'd be repaid.

Well, for starters, isn't there something in the SQL/MED spec about
this..?

Next, we already do this for aggregates.

Also, I don't think I agree with this particular position- it's entirely
possible that the remote server is much less loaded/busy than the local
one and therefore it'd be beneficial, overall, to run that function on
the remote system and not the local one.  The function might even have
side-effects or use other objects in the system to run.  The function
may also return a much smaller result than pulling back the raw data (of
course, the opposite could also possibly be true).

I guess my gut feeling is that, in general, we should push down as much
of the query as possible, as we do for aggregates and joins and
conditionals.  I appreciate that there's some complications here when it
comes to figuring out if it's possible/reasonable to push down something
like, say, a volatile function that's locally defined and known to exist
on the remote.  Haven't got a particular idea how to address that
offhand but that doesn't change my feelings that we should have a way to
do this generally and that it would actually be useful to have.

Thanks,

Stephen

Attachment: signature.asc
Description: PGP signature


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux