From: | Emmanuel Medernach <medernac(at)clermont(dot)in2p3(dot)fr> |
---|---|
To: | PostgreSQL mailing lists <pgsql-general(at)postgresql(dot)org> |
Subject: | UDF calls and FDW |
Date: | 2014-04-04 14:40:42 |
Message-ID: | 533EC46A.8050705@clermont.in2p3.fr |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hello,
I am using FDW to transparently access a remote Postgres database
containing a table indexed with the Q3C library.
On the remote server :
postgres=# SELECT * FROM object_000 WHERE q3c_radial_query(ra_PS, decl_PS,
1.3, 3.4, .2) ;
...
(2416 rows)
Time: 130.300 ms
But on the FDW node the timing is bad :
postgres=# SELECT * FROM master_object_000 WHERE q3c_radial_query(ra_PS,
decl_PS, 1.3, 3.4, .2) ;
...
(2416 rows)
Time: 130843.931 ms
postgres=# explain SELECT * FROM master_object_000 WHERE q3c_radial_query(ra_PS,
decl_PS, 1.3, 3.4, .2) ;
QUERY PLAN
-----------------------------------------------------------------------------------------------------------------
Foreign Scan on master_object_000 (cost=100.00..383744.04 rows=377539 width=1084)
Filter: q3c_radial_query(ra_ps, decl_ps, 1.3::double precision, 3.4::double
precision, 0.2::double precision)
(2 rows)
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.
- How to call the UDF on the remote server ?
Regards,
--
Attachment | Content-Type | Size |
---|---|---|
medernac.vcf | text/x-vcard | 259 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | Mark van Cuijk | 2014-04-04 14:47:33 | Re: Postgres connection failures |
Previous Message | Tom Lane | 2014-04-04 14:09:12 | Re: Postgres connection failures |