> On Mar 3, 2018, at 2:40 PM, Tomas Vondra <tomas.von...@2ndquadrant.com> wrote: > > An updated patch version, fixing the breakage caused by fd1a421fe6 > twiddling with pg_proc.
Hi Tomas, thanks again for this most useful patch! Perhaps this is intentional, but there seems to be a place in src/backend/parser/parse_utilcmd.c that is overlooked in your recent patch set. The simplest fix would be: diff --git a/src/backend/parser/parse_utilcmd.c b/src/backend/parser/parse_utilcmd.c index 0fd14f43c6..6ec7818f31 100644 --- a/src/backend/parser/parse_utilcmd.c +++ b/src/backend/parser/parse_utilcmd.c @@ -1661,6 +1661,10 @@ generateClonedExtStatsStmt(RangeVar *heapRel, Oid heapRelid, stat_types = lappend(stat_types, makeString("ndistinct")); else if (enabled[i] == STATS_EXT_DEPENDENCIES) stat_types = lappend(stat_types, makeString("dependencies")); + else if (enabled[i] == STATS_EXT_MCV) + stat_types = lappend(stat_types, makeString("mcv")); + else if (enabled[i] == STATS_EXT_HISTOGRAM) + stat_types = lappend(stat_types, makeString("histogram")); else elog(ERROR, "unrecognized statistics kind %c", enabled[i]); } diff --git a/src/test/regress/expected/create_table_like.out b/src/test/regress/expected/create_table_like.out index 52ff18c8ca..d7454648fc 100644 --- a/src/test/regress/expected/create_table_like.out +++ b/src/test/regress/expected/create_table_like.out @@ -243,7 +243,7 @@ Indexes: Check constraints: "ctlt1_a_check" CHECK (length(a) > 2) Statistics objects: - "public"."ctlt_all_a_b_stat" (ndistinct, dependencies) ON a, b FROM ctlt_all + "public"."ctlt_all_a_b_stat" (ndistinct, dependencies, mcv, histogram) ON a, b FROM ctlt_all SELECT c.relname, objsubid, description FROM pg_description, pg_index i, pg_class c WHERE classoid = 'pg_class'::regclass AND objoid = i.indexrelid AND c.oid = i.indexrelid AND i.indrelid = 'ctlt_all'::regclass ORDER BY c.relname, objsubid; relname | objsubid | description Otherwise, perhaps you could include a comment about why STATS_EXT_MCV and STATS_EXT_HISTOGRAM are not handled in this case. mark