Re: Add starelid, attnum to pg_stats and leverage this in pg_dump

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Nathan Bossart <nathandbossart@gmail.com>
Cc: Corey Huinker <corey.huinker@gmail.com>, Sami Imseih <samimseih@gmail.com>, pgsql-hackers@lists.postgresql.org
Date: 2026-03-16T21:49:17Z
Lists: pgsql-hackers
On Mon, Mar 16, 2026 at 03:15:14PM -0500, Nathan Bossart wrote:
> On Mon, Mar 16, 2026 at 04:04:23PM -0400, Corey Huinker wrote:
>> expr_attnum was something that Michael Paquier had lamented that the view
>> didn't have. There is obviously no present need for it, as pg_dump isn't
>> being modified for extended stats at all.
> 
> Okay.  I think I'll continue to leave this one out for now.

Lamenting is the right term.  The expressions stored in an extended
stats object have attnumbers computed by the backend, starting from -1
and decremented, and we don't expose this information at all in any
system view.  It could have helped in enforcing a stronger ordering of
the items dumps for the extstats restore functions.  I still think
that it could provide an extra layer of safety.  Now, we don't
critically require it either based on how we pass down the input
arrays, how we dump the data from the catalogs, and how we treat the
order of the items given as function args.
--
Michael

Commits

  1. pg_dump: Simplify query for retrieving attribute statistics.

  2. Add more columns to pg_stats, pg_stats_ext, and pg_stats_ext_exprs.

  3. Add convenience view to stats import test.