pgsql: Include ALTER INDEX SET STATISTICS in pg_dump - Mailing list pgsql-committers

From Michael Paquier
Subject pgsql: Include ALTER INDEX SET STATISTICS in pg_dump
Date
Msg-id E1gZ3GU-0001BJ-Rn@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Include ALTER INDEX SET STATISTICS in pg_dump

The new grammar pattern of ALTER INDEX SET STATISTICS able to use column
numbers on top of the existing column names introduced by commit 5b6d13e
forgot to add support for the feature in pg_dump, so defining statistics
on index columns was missing from the dumps, potentially causing silent
planning problems with a subsequent restore.

pg_dump ought to not use column names in what it generates as these are
automatically generated by the server and could conflict with real
relation attributes with matching patterns.  "expr" and "exprN", N
incremented automatically after the creation of the first one, are used
as default attribute names for index expressions, and that could easily
match what is defined in other relations, causing the dumps to fail if
some of those attributes are renamed at some point.  So to avoid any
problems, the new grammar with column numbers gets used.

Reported-by: Ronan Dunklau
Author: Michael Paquier
Reviewed-by: Tom Lane, Adrien Nayrat, Amul Sul
Discussion: https://postgr.es/m/CAARsnT3UQ4V=yDNW468w8RqHfYiY9mpn2r_c5UkBJ97NAApUEw@mail.gmail.com
Backpatch-through: 11, where the new syntax has been introduced.

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/e4fca461ab6f08d5cc0c93942017d2fbf49000af

Modified Files
--------------
src/bin/pg_dump/pg_dump.c        | 72 ++++++++++++++++++++++++++++++++++++----
src/bin/pg_dump/pg_dump.h        |  2 ++
src/bin/pg_dump/t/002_pg_dump.pl | 22 ++++++++++++
3 files changed, 90 insertions(+), 6 deletions(-)


pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: pgsql: Drop support for getting signal descriptions fromsys_siglist[].
Next
From: Michael Paquier
Date:
Subject: pgsql: Update project link of pgBadger in documentation