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

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Ed Kurowski <ed(dot)kurowski(at)gmail(dot)com>
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:06:58
Message-ID: 26735.1472843218@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

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

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Ed Kurowski 2016-09-02 19:17:54 Re: Full JSONb column returned over FDW when only single value needed
Previous Message Ed Kurowski 2016-09-02 18:18:34 Full JSONb column returned over FDW when only single value needed