Re: Full JSONb column returned over FDW when only single value needed

From: Ed Kurowski <ed(dot)kurowski(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: Full JSONb column returned over FDW when only single value needed
Date: 2016-09-02 19:17:54
Message-ID: CANo=kM_6DmxsYhmpyh8NPNBM-O_dgYtZ+LQ0nsLvBZkOE+b0Mg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Testing has shown it improves a lot by removing the data column. Typically
takes 6 seconds, without the data field, it takes about 10ms. The 'data'
column here is rather arbitrary and sometimes contains a fair amount of
data. We considered the view option, but it seems like the planner should
be smart enough to know we only care about a single field and just send
that back instead of all the json.

On Fri, Sep 2, 2016 at 3:06 PM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> Ed Kurowski <ed(dot)kurowski(at)gmail(dot)com> writes:
> > This runs very quickly directly on the remote postgres server (indexes
> have
> > been set appropriately on the foreign server), but is slow when running
> > over the fdw. I believe I have tracked this down to the fact that it is
> > returning the entire data column (which is jsonb, and sometimes large)
> > instead of the single field from the json my query cares about.
>
> > Is there anyway to stop postgres from returning the entire jsonb column?
>
> This isn't a consideration that postgres_fdw knows anything about at the
> moment. You could force it by defining a view on the remote server that
> only exposes data->>'query' rather than the whole data column, and making
> the foreign table reference the view not the underlying table. Of course
> that approach won't scale if there are a lot of different jsonb fields
> you may want to ask about.
>
> FWIW, I'm a little suspicious of whether it'd really help that much,
> though an experiment with the view approach would probably prove or
> disprove things quickly.
>
> regards, tom lane
>

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2016-09-02 23:46:35 Re: BUG #14295: Hot standby crash during tsvector rebuild
Previous Message Tom Lane 2016-09-02 19:06:58 Re: Full JSONb column returned over FDW when only single value needed