On a badly-overloaded VM, we hit the previously-reported segfault in progress
reporting. This left around some *ccold indices. I tried to drop them but:
sentinel=# DROP INDEX child.alarms_null_alarm_id_idx1_ccold; -- child.alarms_null_alarm_time_idx_ccold; --
alarms_null_alarm_id_idx_ccold;
ERROR: could not find tuple for parent of relation 41351896
Those are children of relkind=I index on relkind=p table.
postgres=# CREATE TABLE t(i int)PARTITION BY RANGE(i);
postgres=# CREATE TABLE t1 PARTITION OF t FOR VALUES FROM (1)TO(100);
postgres=# INSERT INTO t1 SELECT 1 FROM generate_series(1,99999);
postgres=# CREATE INDEX ON t(i);
postgres=# begin; SELECT * FROM t; -- DO THIS IN ANOTHER SESSION
postgres=# REINDEX INDEX CONCURRENTLY t1_i_idx; -- cancel this one
^CCancel request sent
ERROR: canceling statement due to user request
postgres=# \d t1
...
"t1_i_idx" btree (i)
"t1_i_idx_ccold" btree (i) INVALID
postgres=# SELECT inhrelid::regclass FROM pg_inherits WHERE inhparent='t_i_idx'::regclass;
inhrelid
t1_i_idx
(1 row)
Not only can't I DROP the _ccold indexes, but also dropping the table doesn't
cause them to be dropped, and then I can't even slash dee them anymore:
jtp=# DROP INDEX t1_i_idx_ccold;
ERROR: could not find tuple for parent of relation 290818869
jtp=# DROP TABLE t; -- does not fail, but ..
jtp=# \d t1_i_idx_ccold
ERROR: cache lookup failed for relation 290818865
jtp=# SELECT indrelid::regclass, * FROM pg_index WHERE indexrelid='t1_i_idx_ccold'::regclass;
indrelid | 290818865
indexrelid | 290818869
indrelid | 290818865
[...]
Justin