pgstattuple: Fix failure with pgstathashindex() for partitioned indexes As coded, the function relied on index_open() when opening an index relation, allowing partitioned indexes to be processed by pgstathashindex(). This was leading to a "could not open file" error because partitioned indexes have no physical files, or to a crash with an assertion failure (like on HEAD).
This issue is fixed by applying the same checks as the other stat functions for indexes, with a lookup at both RELKIND_INDEX and the index AM expected. Author: Alexander Lakhin Discussion: https://postgr.es/m/18246-f4d9ff7cb3af7...@postgresql.org Backpatch-through: 12 Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/a8dd62ef4959141e410278fd68b3d1821e0bbbaa Modified Files -------------- contrib/pgstattuple/expected/pgstattuple.out | 11 +++++++---- contrib/pgstattuple/pgstatindex.c | 5 ++--- contrib/pgstattuple/sql/pgstattuple.sql | 2 ++ 3 files changed, 11 insertions(+), 7 deletions(-)