| 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: | Whole Thread | Raw Message | 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
| 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 |