postgresql/contrib/pgstattuple
Michael Paquier b745f16804 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-f4d9ff7cb3af77e6@postgresql.org
Backpatch-through: 12
2023-12-19 15:20:50 +09:00
..
expected pgstattuple: Fix failure with pgstathashindex() for partitioned indexes 2023-12-19 15:20:50 +09:00
sql pgstattuple: Fix failure with pgstathashindex() for partitioned indexes 2023-12-19 15:20:50 +09:00
.gitignore Add a regression test for pgstattuple. 2011-08-25 00:06:16 -04:00
Makefile Remove support for upgrading extensions from "unpackaged" state. 2020-02-19 16:59:14 -05:00
pgstatapprox.c Update copyright for 2022 2022-01-07 19:04:57 -05:00
pgstatindex.c pgstattuple: Fix failure with pgstathashindex() for partitioned indexes 2023-12-19 15:20:50 +09:00
pgstattuple--1.0--1.1.sql Add pgstatginindex() function to get the size of the GIN pending list. 2012-12-05 09:58:03 +02:00
pgstattuple--1.1--1.2.sql Fix pgstattuple functions to use regclass-type as the argument. 2013-07-19 03:50:20 +09:00
pgstattuple--1.2--1.3.sql Add pgstattuple_approx() to the pgstattuple extension. 2015-05-13 07:35:06 +02:00
pgstattuple--1.3--1.4.sql Update pgstattuple extension for parallel query. 2016-06-10 10:42:03 -04:00
pgstattuple--1.4--1.5.sql Fix pgstattuple's handling of unused hash pages. 2017-04-12 11:53:00 -04:00
pgstattuple--1.4.sql Minor fixes in contrib installation scripts. 2016-06-14 10:47:06 -04:00
pgstattuple.c Diagnose !indisvalid in more SQL functions. 2023-10-30 14:46:08 -07:00
pgstattuple.control Remove superuser checks in pgstattuple 2016-09-29 22:13:38 -04:00