Add support for importing statistics from remote servers.
Etsuro Fujita <efujita@postgresql.org>
Add support for importing statistics from remote servers. Add a new FDW callback routine that allows importing remote statistics for a foreign table directly to the local server, instead of collecting statistics locally. The new callback routine is called at the beginning of the ANALYZE operation on the table, and if the FDW failed to import the statistics, the existing callback routine is called on the table to collect statistics locally. Also implement this for postgres_fdw. It is enabled by "restore_stats" option both at the server and table level. Currently, it is the user's responsibility to ensure remote statistics to import are up-to-date, so the default is false. Author: Corey Huinker <corey.huinker@gmail.com> Co-authored-by: Etsuro Fujita <etsuro.fujita@gmail.com> Reviewed-by: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com> Reviewed-by: Matheus Alcantara <matheusssilv97@gmail.com> Reviewed-by: Chao Li <li.evan.chao@gmail.com> Reviewed-by: Michael Paquier <michael@paquier.xyz> Reviewed-by: Etsuro Fujita <etsuro.fujita@gmail.com> Discussion: https://postgr.es/m/CADkLM%3DchrYAx%3DX2KUcDRST4RLaRLivYDohZrkW4LLBa0iBhb5w%40mail.gmail.com
Files
| Path | Change | +/− |
|---|---|---|
| contrib/postgres_fdw/deparse.c | modified | +3 −3 |
| contrib/postgres_fdw/expected/postgres_fdw.out | modified | +60 −0 |
| contrib/postgres_fdw/option.c | modified | +5 −1 |
| contrib/postgres_fdw/postgres_fdw.c | modified | +931 −3 |
| contrib/postgres_fdw/sql/postgres_fdw.sql | modified | +64 −0 |
| doc/src/sgml/fdwhandler.sgml | modified | +39 −0 |
| doc/src/sgml/postgres-fdw.sgml | modified | +28 −1 |
| src/backend/commands/analyze.c | modified | +128 −72 |
| src/backend/statistics/extended_stats.c | modified | +34 −0 |
| src/include/commands/vacuum.h | modified | +2 −0 |
| src/include/foreign/fdwapi.h | modified | +5 −0 |
| src/include/statistics/statistics.h | modified | +1 −0 |
| src/tools/pgindent/typedefs.list | modified | +3 −0 |
Discussion
- Import Statistics in postgres_fdw before resorting to sampling. 85 messages · 2025-08-12 → 2026-05-26