Add support for "dependencies" in pg_restore_extended_stats()

This commit adds support for the restore of extended statistics of the
kind "dependencies", for the following input data:
[{"attributes": [2], "dependency": 3, "degree": 1.000000},
 {"attributes": [3], "dependency": 2, "degree": 1.000000}]

This relies on the existing routines of "dependencies" to cross-check
the input data with the definition of the extended statistics objects
for the attribute numbers.  An input argument of type "pg_dependencies"
is required for this new option.

Thanks to the work done in 0e80f3f88dea for the restore function and
e1405aa5e3ac for the input handling of data type pg_dependencies, this
addition is straight-forward.  This will be used so as it is possible to
transfer these statistics across dumps and upgrades, removing the need
for a post-operation ANALYZE for these kinds of statistics.

Author: Corey Huinker <[email protected]>
Reviewed-by: Michael Paquier <[email protected]>
Discussion: 
https://postgr.es/m/CADkLM=dpz3KFnqP-dgJ-zvRvtjsa8UZv8wDAQdqho=qn3kx...@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/302879bd68d1156fa27c38d29763ca9e4a1649c4

Modified Files
--------------
doc/src/sgml/func/func-admin.sgml             |  8 ++---
src/backend/statistics/extended_stats_funcs.c | 38 ++++++++++++++++++++++
src/test/regress/expected/stats_import.out    | 45 +++++++++++++++++++++++++++
src/test/regress/sql/stats_import.sql         | 29 +++++++++++++++++
4 files changed, 116 insertions(+), 4 deletions(-)

Reply via email to