Hi hackers,
When doing a whole database vacuum, we scan pg_class to construct
a list of vacuumable tables. For each vacuumable table, we call
vacuum_is_permitted_for_relation() to check permissions. If a
concurrent drop happens, the pg_class_aclcheck() might report an
error because of failing to search the syscache:
ERROR: relation with OID ****** does not exist
To fix it, we can use pg_class_aclcheck_ext() to detect the concurrent
drop and report a warning instead.
Note that a concurrent drop after constructing the list of vacuumable
tables is handled by vacuum_open_relation().
Thoughts?
--
Regards,
ChangAo Chen