Thread: Re: Allow pg_dump --statistics-only to dump foreign table statistics?
On Fri, Jun 13, 2025 at 04:19:26PM +0900, Fujii Masao wrote: > I noticed that pg_restore_relation|attribute_stats() can restore statistics > for foreign tables, but pg_dump --statistics-only doesn't include them. > Is there a reason why pg_dump skips statistics for foreign tables? > Are there any risks or concerns around including them? Isn't this applicable to --with-statistics, too? > Sorry if this has already been discussed. I tried searching but couldn't > find the discussion. If there is one, I'd appreciate it if you could point > me to it. I skimmed through the main thread for the feature [0] (which seems to be so long that it sometimes doesn't load completely), and I didn't see anything directly related to the topic. There was some discussion about importing foreign relation stats with the new functions instead of remote table samples, but that's a different thing. [0] https://postgr.es/m/CADkLM%3DcB0rF3p_FuWRTMSV0983ihTRpsH%2BOCpNyiqE7Wk0vUWA%40mail.gmail.com -- nathan
On 2025/06/14 7:31, Nathan Bossart wrote: > On Fri, Jun 13, 2025 at 04:19:26PM +0900, Fujii Masao wrote: >> I noticed that pg_restore_relation|attribute_stats() can restore statistics >> for foreign tables, but pg_dump --statistics-only doesn't include them. >> Is there a reason why pg_dump skips statistics for foreign tables? >> Are there any risks or concerns around including them? > > Isn't this applicable to --with-statistics, too? Yes, it applies to --with-statistics as well. Regards, -- Fujii Masao NTT DATA Japan Corporation
On 2025/06/17 7:44, Corey Huinker wrote: > The proposed patch [0] adds RELKIND_FOREIGN_TABLE to this list. That > appears to be the only missing relation kind that ANALYZE handles. > > [0] https://postgr.es/m/attachment/177608/v1-0001-pg_dump-Allow-pg_dump-to-dump-the-statistics-for-.patch <https://postgr.es/m/attachment/177608/v1-0001-pg_dump-Allow-pg_dump-to-dump-the-statistics-for-.patch> > > > Thanks for pointing it out, a little distracted today. > > +1 for the patch. Thanks for reviewing the patch! I found a few more descriptions that needed updates, so I've revised the patch accordingly. The updated version is attached. Barring any objections, I plan to commit it. </para> <para> The data section contains actual table data, large-object - contents, statistics for tables and materialized views and - sequence values. + contents, sequence values, and statistics for tables, + materialized views, and foriegn tables. Post-data items include definitions of indexes, triggers, rules, statistics for indexes, and constraints other than validated check constraints. Although not directly related to foreign table statistics, I considered clarifying that the "data" section only includes statistics *if* --statistics is specified. The current wording might suggest that statistics are included by default, which isn't accurate. However, since the default behavior is still under discussion at [1], I've left that part unchanged for now. Regards, [1] https://www.postgresql.org/message-id/CADkLM=fXSiX4GQ7F6__z+ofGpp0QwwytGP-GNeVQyMhc29bbwQ@mail.gmail.com -- Fujii Masao NTT DATA Japan Corporation
Attachment
On 2025/06/17 12:39, Fujii Masao wrote: > > > On 2025/06/17 7:44, Corey Huinker wrote: >> The proposed patch [0] adds RELKIND_FOREIGN_TABLE to this list. That >> appears to be the only missing relation kind that ANALYZE handles. >> >> [0] https://postgr.es/m/attachment/177608/v1-0001-pg_dump-Allow-pg_dump-to-dump-the-statistics-for-.patch <https://postgr.es/m/attachment/177608/v1-0001-pg_dump-Allow-pg_dump-to-dump-the-statistics-for-.patch> >> >> >> Thanks for pointing it out, a little distracted today. >> >> +1 for the patch. > > Thanks for reviewing the patch! I found a few more descriptions that > needed updates, so I've revised the patch accordingly. The updated > version is attached. Barring any objections, I plan to commit it. I've pushed the patch. Thanks! Regards, -- Fujii Masao NTT DATA Japan Corporation