On Thu, Jul 9, 2020 at 5:32 PM Tom Lane <tgl@xxxxxxxxxxxxx> wrote:
Alvaro Herrera <alvherre@xxxxxxxxxxxxxxx> writes:
> On 2020-Jul-09, Michel Pelletier wrote:
>> I don't seem to have either:
>>
>> dev=> select * from pg_depend where classid = "" or refclassid = 297108;
>> classid | objid | objsubid | refclassid | refobjid | refobjsubid | deptype
>> ---------+-------+----------+------------+----------+-------------+---------
>> (0 rows)
> Maybe try looking in pg_shdepend? Or pg_description?
I think it has to be pg_depend, because there'd be no reason to
be calling getObjectClass() on a entry from one of those other
catalogs during a DROP TABLE.
So my thoughts are now turning towards there being corruption
in pg_depend's indexes as well as the heap. Try doing the above
query after turning enable_indexscan and enable_bitmapscan off.
Unfortunately still no refs there:
dev=> set enable_indexscan = off;
SET
dev=> set enable_bitmapscan = off;
SET
dev=> select * from pg_depend \g | grep 297108
dev=> select * from pg_depend where classid = "" or refclassid = 297108::oid;
classid | objid | objsubid | refclassid | refobjid | refobjsubid | deptype
---------+-------+----------+------------+----------+-------------+---------
(0 rows)
dev=> explain select * from pg_depend where classid = "" or refclassid = 297108::oid;
QUERY PLAN
-----------------------------------------------------------------------
Seq Scan on pg_depend (cost=0.00..336.87 rows=2 width=25)
Filter: ((classid = "" OR (refclassid = '297108'::oid))
(2 rows)
SET
dev=> set enable_bitmapscan = off;
SET
dev=> select * from pg_depend \g | grep 297108
dev=> select * from pg_depend where classid = "" or refclassid = 297108::oid;
classid | objid | objsubid | refclassid | refobjid | refobjsubid | deptype
---------+-------+----------+------------+----------+-------------+---------
(0 rows)
dev=> explain select * from pg_depend where classid = "" or refclassid = 297108::oid;
QUERY PLAN
-----------------------------------------------------------------------
Seq Scan on pg_depend (cost=0.00..336.87 rows=2 width=25)
Filter: ((classid = "" OR (refclassid = '297108'::oid))
(2 rows)
-Michel
regards, tom lane