On Mon, Jul 10, 2023 at 07:35:27AM +0000, 
fujii.y...@df.mitsubishielectric.co.jp wrote:
> > > I will add a postgres_fdw option "check_partial_aggregate_support".
> > > This option is false, default.
> > > Only if this option is true, postgres_fdw connect to the remote server 
> > > and get the version of the remote server.
> > > And if the version of the remote server is less than PG17, then partial 
> > > aggregate push down to the remote server is
> > disable.
> > 
> > Great!
> I have modified the program except for the point "if the version of the 
> remote server is less than PG17".
> Instead, we have addressed the following.
> "If check_partial_aggregate_support is true and the remote server version is 
> older than the local server
> version, postgres_fdw does not assume that the partial aggregate function is 
> on the remote server unless
> the partial aggregate function and the aggregate function match."
> The reason for this is to maintain compatibility with any aggregate function 
> that does not support partial
> aggregate in one version of V1 (V1 is PG17 or higher), even if the next 
> version supports partial aggregate.
> For example, string_agg does not support partial aggregation in PG15, but it 
> will support partial aggregation
> in PG16.

Just to clarify, I think you are saying:

        If check_partial_aggregate_support is true and the remote server
        version is older than the local server version, postgres_fdw
        checks if the partial aggregate function exists on the remote
        server during planning and only uses it if it does.

I tried to phrase it in a positive way, and mentioned the plan time
distinction.  Also, I am sorry I was away for most of July and am just
getting to this.

-- 
  Bruce Momjian  <br...@momjian.us>        https://momjian.us
  EDB                                      https://enterprisedb.com

  Only you can decide what is important to you.


Reply via email to