OK, one mere comment - it seems the 0001 patch has incorrect indentation
in bt_index_check_callback, triggering this:
----------------------------------------------------------------------
verify_nbtree.c: In function ‘bt_index_check_callback’:
verify_nbtree.c:331:25: warning: this ‘if’ clause does not guard...
[-Wmisleading-indentation]
331 | if (indrel->rd_opfamily[i] ==
INTERVAL_BTREE_FAM_OID)
| ^~
In file included from ../../src/include/postgres.h:46,
from verify_nbtree.c:24:
../../src/include/utils/elog.h:142:9: note: ...this statement, but the
latter is misleadingly indented as if it were guarded by the ‘if’
142 | do { \
| ^~
../../src/include/utils/elog.h:164:9: note: in expansion of macro
‘ereport_domain’
164 | ereport_domain(elevel, TEXTDOMAIN, __VA_ARGS__)
| ^~~~~~~~~~~~~~
verify_nbtree.c:333:33: note: in expansion of macro ‘ereport’
333 | ereport(ERROR,
| ^~~~~~~
----------------------------------------------------------------------
This seems to be because the ereport() happens to be indented as if it
was in the "if", but should have been at the "for" level.
regards
--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company