Re: mysql_fdw trouble - Mailing list pgsql-general

From Dane Foster
Subject Re: mysql_fdw trouble
Date
Msg-id CA+WxinJHEk+yu0OR8HMshxu_oA5-r4RSqVR9DDypi_RkrP6bPQ@mail.gmail.com
Whole thread Raw
In response to Re: mysql_fdw trouble  (John R Pierce <pierce@hogranch.com>)
Responses Re: mysql_fdw trouble  (Adrian Klaver <adrian.klaver@aklaver.com>)
List pgsql-general
On Thu, Oct 29, 2015 at 3:01 PM, John R Pierce <pierce@hogranch.com> wrote:
On 10/29/2015 11:20 AM, Dane Foster wrote:
​I think you are correct about mysql_fdw "... sending the trim() checks for remote execution" because according to the docs:

"The latest version will push-down the foreign table where clause to the foreign server. The where condition on the foreign table will be executed on the foreign server hence there will be fewer rows to to bring across to PostgreSQL. This is a performance feature."


the alternative would be to fetch the whole table across the FDW interface, then run the where locally, for a large table where you're only selecting a few rows, this would be very painful.

I guess using mysql_fdw is a no-go for my data migration needs.

or, rewrite that WHERE clause to be mysql compatible.
Easier said than done because the LENG​TH and TRIM functions both exist in MySQL but I guess under the covers in PostgreSQL btrim is being invoked when TRIM is called therefore that is what is being "pushed down" to the MySQL and there is nothing I can do about that.

I guess I could leave out the call to trim, and copy the data into a temp table on the PostgreSQL side, and blah blah blah. My point being why should I have to jump through hoops because mysql_fdw is broken? I'll just go back to writing the migration script as a PHP program because if mysql_fdw didn't exist that's what I would have to do anyway.
 

-- 
john r pierce, recycling bits in santa cruz
Dane

pgsql-general by date:

Previous
From: John R Pierce
Date:
Subject: Re: Configure Different Databases on One Server
Next
From: Tom Lane
Date:
Subject: Re: Configure Different Databases on One Server