Re: UDF calls and FDW

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Emmanuel Medernach <medernac(at)clermont(dot)in2p3(dot)fr>
Cc: PostgreSQL mailing lists <pgsql-general(at)postgresql(dot)org>
Subject: Re: UDF calls and FDW
Date: 2014-04-04 16:38:42
Message-ID: 19937.1396629522@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Emmanuel Medernach <medernac(at)clermont(dot)in2p3(dot)fr> writes:
> So the problem is that is calls the UDF on the FDW node (Foreign
> Scan on master_object_000 + Filter) and not on the remote server.

Right.

> - How to call the UDF on the remote server ?

postgres_fdw intentionally refuses to do this, because it has no way
to know whether q3c_radial_query() is the same function, or even
exists at all, on the remote server. Only WHERE clauses involving
built-in functions/operators will be pushed across to the remote server.

Barring solutions for that philosophical question, you might be able
to do something like putting the function call into a view on the remote
side and then creating a foreign table that references the view.

regards, tom lane

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Merlin Moncure 2014-04-04 17:15:41 Re: SSD Drives
Previous Message David Boreham 2014-04-04 16:18:16 Re: SSD Drives