pgsql: Preserve pg_attribute.attstattarget across REINDEX CONCURRENTLY
От | Michael Paquier |
---|---|
Тема | pgsql: Preserve pg_attribute.attstattarget across REINDEX CONCURRENTLY |
Дата | |
Msg-id | E1l9gpI-0005LP-FC@gemulon.postgresql.org обсуждение исходный текст |
Список | pgsql-committers |
Preserve pg_attribute.attstattarget across REINDEX CONCURRENTLY For an index, attstattarget can be updated using ALTER INDEX SET STATISTICS. This data was lost on the new index after REINDEX CONCURRENTLY. The update of this field is done when the old and new indexes are swapped to make the fix back-patchable. Another approach we could look after in the long-term is to change index_create() to pass the wanted values of attstattarget when creating the new relation, but, as this would cause an ABI breakage this can be done only on HEAD. Reported-by: Ronan Dunklau Author: Michael Paquier Reviewed-by: Ronan Dunklau, Tomas Vondra Discussion: https://postgr.es/m/16628084.uLZWGnKmhe@laptop-ronand Backpatch-through: 12 Branch ------ REL_13_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/8493831385814c4f22b1d5b5d8a9227a2eb82712 Modified Files -------------- src/backend/catalog/index.c | 56 ++++++++++++++++++++++++++++++ src/backend/utils/cache/lsyscache.c | 27 ++++++++++++++ src/include/utils/lsyscache.h | 1 + src/test/regress/expected/create_index.out | 15 ++++++++ src/test/regress/sql/create_index.sql | 8 +++++ 5 files changed, 107 insertions(+)
В списке pgsql-committers по дате отправления: