Skip site navigation (1) Skip section navigation (2)

Re: FDW state from plan time

From: Dave Page <dpage(at)pgadmin(dot)org>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: FDW state from plan time
Date: 2011-04-04 08:31:31
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-hackers
On Sun, Apr 3, 2011 at 5:38 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Dave Page <dpage(at)pgadmin(dot)org> writes:
>> I can't help thinking I must be missing something obvious here, but is
>> there any way to persist some data from PlanForeignScan to at least
>> BeginForeignScan in an FDW? I'm aware of fdwplan->fdw_private, but at
>> that needs to be copyObject compatible, it's not much use to me.
>> The issue I have is that in order to properly plan my remote scan, I
>> need to connect to the remote database to try to calculate some stats
>> for the query. I'm currently then disconnecting and freeing all the
>> data associated with that connection, and then reconnecting again in
>> BeginForeignScan in order to do the actual work. I'd like to avoid the
>> connect/reconnect, as we all know they can be expensive!
> I'd suggest that you reference your open connections with an integer
> index, which you could then store in the plan node.  Plans don't have to
> survive longer than the current backend, so this would be perfectly safe
> so long as you don't re-use the indexes within a session.
> Or you could use a hash of some other identifying information (perhaps
> the OID of the foreign server would be sufficient ID for a connection?).

Ahh, ok - that should work. Thanks!

Dave Page
Twitter: @pgsnake

EnterpriseDB UK:
The Enterprise PostgreSQL Company

In response to

pgsql-hackers by date

Next:From: Dave PageDate: 2011-04-04 08:33:50
Subject: Re: FDW state from plan time
Previous:From: Susanne EbrechtDate: 2011-04-04 08:06:04
Subject: Re: [HACKERS] found a very confusing and maybe outdated sentence

Privacy Policy | About PostgreSQL
Copyright © 1996-2018 The PostgreSQL Global Development Group