Local partitioned indexes and pageinspect

Peter Geoghegan <pg@bowt.ie>

From: Peter Geoghegan <pg@bowt.ie>
To: Alvaro Herrera <alvherre@2ndquadrant.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2018-04-24T00:29:59Z
Lists: pgsql-hackers
It looks like local partitioned indexes are a problem for pageinspect:

pg@regression[28736]=# select bt_metap('at_partitioned_b_idx');
ERROR:  relation "at_partitioned_b_idx" is not a btree index

I gather that pageinspect simply didn't get the memo about the new
RELKIND_PARTITIONED_INDEX "placeholder" relkind. I think that it
should at least give a friendlier error message than what we see here.
The same applies to amcheck, and possibly a few other modules.

I also noticed that the new 'I' relkind is not documented within the
pg_class docs. I think that that needs to be updated. The docs should
explain that 'I' relations are not backed by storage, since that will
probably affect users of one or two external tools.

-- 
Peter Geoghegan


Commits

  1. pgstatindex, pageinspect: handle partitioned indexes

  2. Add relkind 'I' to catalog.sgml's list relkinds