Re: Import Statistics in postgres_fdw before resorting to sampling.

Corey Huinker <corey.huinker@gmail.com>

From: Corey Huinker <corey.huinker@gmail.com>
To: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
Cc: Etsuro Fujita <etsuro.fujita@gmail.com>, Michael Paquier <michael@paquier.xyz>, pgsql-hackers@postgresql.org, jkatz@postgresql.org, nathandbossart@gmail.com
Date: 2026-01-23T17:15:40Z
Lists: pgsql-hackers
>
> >> There's an advantage if we can combine stats across multiple relations
> >> - we don't have to sample children twice when analyzing the parent
> >> without ONLY. Instead we could produce parent statistics by combining
> >> statistics across children and the parent. To me this looks like
> >> altogether a different beast just like partial aggregates.
> >
> >
> > I think this patch is only ever going to get us out of 1 of the 2
> samples, which isn't ideal but it is a savings.
> >
>
> I am not suggesting to synthesize sample rows. Calculate the
> statistics of the parent table from that of its children.
>

I'm not sure we can actually do that. The functions that compute the
statistics are all based off of row samples, not already computed
statistics. I don't think we can synthesize a rowsample from the imported
statistics, at least not accurately. If I'm misunderstanding what you're
suggesting, please correct me.


> The note just mentions partition table but the limitation applies to
> any foreign child table.
>

Noted. Will fix in next revision.

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. postgres_fdw: Replace buffers in RemoteAttributeMapping with pointers.

  2. Add support for importing statistics from remote servers.