Re: BUG #19529: Documentation appears inconsistent with pg_dump --statistics behavior for CREATE STATISTICS objects

Fujii Masao <masao.fujii@gmail.com>

From: Fujii Masao <masao.fujii@gmail.com>
To: igi@sraoss.co.jp, pgsql-bugs@lists.postgresql.org
Date: 2026-06-20T15:55:34Z
Lists: pgsql-bugs
On Sat, Jun 20, 2026 at 8:19 PM PG Bug reporting form
<noreply@postgresql.org> wrote:
>
> The following bug has been logged on the website:
>
> Bug reference:      19529
> Logged by:          Igi Izumi
> Email address:      igi@sraoss.co.jp
> PostgreSQL version: 19beta1
> Operating system:   Rocky Linux 10.2 x86_64
> Description:
>
> The PostgreSQL 19 pg_dump documentation currently states:
> "When --statistics is specified, pg_dump will include most optimizer
> statistics in the resulting dump file. This does not include all statistics,
> such as those created explicitly with CREATE STATISTICS, custom statistics
> added by an extension, or statistics collected by the cumulative statistics
> system. Therefore, it may still be useful to run ANALYZE after restoring
> from a dump file to ensure optimal performance; see Section 24.1.3 and
> Section 24.1.6 for more information."
> https://www.postgresql.org/docs/19/app-pgdump.html
>
> However, PostgreSQL 19 introduced support for restoring extended statistics
> with pg_restore_extended_stats(), and the following commits appear to add
> support for dumping and restoring CREATE STATISTICS data:
>
> ・Include extended statistics data in pg_dump
> https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=c32fb29e9
>
> ・Add pg_restore_extended_stats()
> https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=0e80f3f88
>
> Because of these changes, it appears that statistics created explicitly with
> CREATE STATISTICS are now handled by pg_dump --statistics, while the
> PostgreSQL 19 documentation still states that they are not included.
>
> Could you please confirm whether the documentation is correct, or whether
> this is a documentation bug?

This looks like a documentation oversight in (maybe) the commit that
added extended statistics support to pg_dump.

I say that because I confirmed that pg_dump --statistics does dump
the extended statistics for table t after running:

    CREATE TABLE t (i int, j int);
    INSERT INTO t SELECT n, n FROM generate_series(1, 100) n;
    CREATE STATISTICS ON i, j FROM t;
    ANALYZE t;

Regards,

-- 
Fujii Masao



Commits

  1. doc: Update pg_dump/dumpall/upgrade about handling of external statistics