Include ALTER INDEX SET STATISTICS in pg_dump
authorMichael Paquier
Tue, 18 Dec 2018 00:28:56 +0000 (09:28 +0900)
committerMichael Paquier
Tue, 18 Dec 2018 00:28:56 +0000 (09:28 +0900)
commitd0960eb8ab78f098beb1de2628229ac992da055c
tree211b0a58c4f45292ceb14d4606ea8668eda7dcc2
parentf760a8b5cc1fa8c9d341faaf2cbda3b94d5a20d9
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.
src/bin/pg_dump/pg_dump.c
src/bin/pg_dump/pg_dump.h
src/bin/pg_dump/t/002_pg_dump.pl