Re: patch: SQL/MED(FDW) DDL

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Shigeru HANADA <hanada@metrosystems.co.jp>, Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>, Itagaki Takahiro <itagaki.takahiro@gmail.com>, Alvaro Herrera <alvherre@commandprompt.com>, SAKAMOTO Masahiko <sakamoto.masahiko@oss.ntt.co.jp>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2010-10-05T15:06:47Z
Lists: pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes:
> On Tue, Oct 5, 2010 at 10:41 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> (I'd also say that your performance estimate is miles in advance of any
>> facts; but even if it's true, the caching ought to be inside the FDW,
>> because we have no clear idea of what it will need to cache.)

> I can't imagine how an FDW could possibly be expected to perform well
> without some persistent local data storage.  Even assume the remote
> end is PG.  To return a cost, it's going to need the contents of
> pg_statistic cached locally, for each remote table.

Or it could ask the remote side.

> Do you really
> think it's going to work to incur that overhead once per table per
> backend startup?

If you have a cache, how are you going to manage updates of it?

IMO this is a *clear* case of premature optimization being the root of
all evil.  We should get it working first and then see what needs to be
optimized by measuring, rather than guessing in a vacuum.

(BTW, if the remote end is PG I would hardly think that we'd send SQL
queries at all.  If we're interested in micro-optimization, we'd devise
some lower-level protocol.)

			regards, tom lane