Michael Paquier <michael.paquier@gmail.com> writes:
> In order to reproduce the failure I have just inserted a manual
> pg_usleep before looping through the list of orphan_oids, and after
> dropping manually from another session a couple of orphaned temporary
> tables I was able to see the failure. Attached is a proposal of patch.
That's not really adequate, because acquiring the lock doesn't prove that
the table still exists; you might just be holding a useless lock against
a now-unused OID. You really need to do something to verify that the
table's catalog entries are still visible after you have the lock.
regards, tom lane