Antonin Houska <a...@cybertec.at> wrote: > Antonin Houska <a...@cybertec.at> wrote: > > > This is a new version of the patch I presented in [1]. > > Rebased. > > cat .git/refs/heads/master > b9a3ef55b253d885081c2d0e9dc45802cab71c7b
This is another version of the patch. Besides other changes, it enables the aggregation push-down for postgres_fdw, although only for aggregates whose transient aggregation state is equal to the output type. For other aggregates (like avg()) the remote nodes will have to return the transient state value in an appropriate form (maybe bytea type), which does not depend on PG version. shard.tgz demonstrates the typical postgres_fdw use case. One query shows base scans of base relation's partitions being pushed to shard nodes, the other pushes down a join and performs aggregation of the join result on the remote node. Of course, the query can only references one particular partition, until the "partition-wise join" [1] patch gets committed and merged with this my patch. One thing I'm not sure about is whether the patch should remove GetForeignUpperPaths function from FdwRoutine, which it essentially makes obsolete. Or should it only be deprecated so far? I understand that deprecation is important for "ordinary SQL users", but FdwRoutine is an interface for extension developers, so the policy might be different. [1] https://commitfest.postgresql.org/14/994/ Any feedback is appreciated. -- Antonin Houska Cybertec Schönig & Schönig GmbH Gröhrmühlgasse 26 A-2700 Wiener Neustadt Web: http://www.postgresql-support.de, http://www.cybertec.at
agg_pushdown_v3.tgz
Description: GNU Zip compressed data
shard.tgz
Description: GNU Zip compressed data
-- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers