On 2015/09/01 9:54, Bruce Momjian wrote:
> On Mon, Aug 31, 2015 at 05:10:11PM -0700, Josh Berkus wrote:
>>> As far as (3) is concerned, why
>>> wouldn't we use the foreign data wrapper interface, and specifically
>>> postgres_fdw? That interface was designed for the explicit purpose of
>>> allowing access to remote data sources, and a lot of work has been put
>>> into it, so it would be highly surprising if we decided to throw that
>>> away and develop something completely new from the ground up.
>>
>> Well, query hooks are also a capability which we already have, and is
>> mature. Citus has already posted about why they chose to use them instead.
>>
>> As long as you recognize that the FDW API (not just the existing fdws)
>> will need to expand to make this work, it's a viable path.
>
> Uh, we already have a list of things we need to add to FDWs to make them
> work, and Citus Data has provided a document of more things that are
> needed, https://goo.gl/vJWF85.
My top priority is postgres_fdw join pushdown, but I also plan to work
on update pushdown [1] for 9.6, which couldn't make it into 9.5. I
think that would resolve the following issue mentioned in the document:
UPDATE and DELETE operations are performed by first fetchingrecords from the table scanning functions, and then going
overthefetched records. If the user wanted to update a single row,this involved first pulling rows and then updating
relatedrecords.
Best regards,
Etsuro Fujita
[1] https://commitfest.postgresql.org/4/162/