It seems suspicious to me that LockSharedObject() calls
AcceptInvalidationMessges() and LockDatabaseObject() does not. Since
the only caller of LockSharedObject() at present is
AcquireDeletionLock(), I'm not sure there's an observable bug here at
the moment, but then again, I'm also not sure there isn't.
The call in LockSharedObject() was added here:
http://archives.postgresql.org/pgsql-committers/2006-05/msg00026.php
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise Postgres Company