| From: | Daniel Farina <daniel(at)heroku(dot)com> | 
|---|---|
| To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> | 
| Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> | 
| Subject: | Re: postgres_fdw vs data formatting GUCs (was Re: [v9.3] writable foreign tables) | 
| Date: | 2013-03-19 22:06:29 | 
| Message-ID: | CAAZKuFbOH4uc1oiq969D0+v04+=keNOX9tyjBjzF_VfMQ8VFag@mail.gmail.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
On Tue, Mar 19, 2013 at 2:41 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Daniel Farina <daniel(at)heroku(dot)com> writes:
>> On Tue, Mar 19, 2013 at 1:16 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>>> I'd be inclined to eat the cost of calling PQparameterStatus every time
>>> (which won't be that much) and instead try to optimize by avoiding the
>>> GUC-setting overhead if the current value matches the local setting.
>>> But even that might be premature optimization.  Did you do any
>>> performance testing to see if there was a problem worth avoiding?
>
>> Nope; should I invent a new way to do that, or would it be up to
>> commit standard based on inspection alone?  I'm okay either way, let
>> me know.
>
> Doesn't seem that hard to test: run a dblink query that pulls back a
> bunch of data under best-case conditions (ie, local not remote server),
> and time it with and without the proposed fix.  If the difference
> is marginal then it's not worth working hard to optimize.
Okay, will do, and here's the shorter and less mechanically intensive
naive version that I think is the baseline: it doesn't try to optimize
out any GUC settings and sets up the GUCs before the two
materialization paths in dblink.
Something I forgot to ask about is about if an strangely-minded type
input function could whack around the GUC as records are being
remitted, which would necessitate per-tuple polling of
pqParameterStatus (e.g. in the inner loop of a materialization) .
That seemed pretty "out there," but I'm broaching it for completeness.
I'll see how much of a penalty it is vs. not applying any patch at all next.
--
fdr
| Attachment | Content-Type | Size | 
|---|---|---|
| dblink-guc-sensitive-types-v2.patch | application/octet-stream | 14.0 KB | 
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Ants Aasma | 2013-03-19 22:08:35 | Re: Enabling Checksums | 
| Previous Message | Tom Lane | 2013-03-19 21:41:13 | Re: postgres_fdw vs data formatting GUCs (was Re: [v9.3] writable foreign tables) |