Tom Lane wrote:
>
> "Hiroshi Inoue" <Inoue@tpf.co.jp> writes:
> >> That's a good point --- we acquire exclusive lock anyway on a table
> >> about to be deleted, so just holding that lock till end of transaction
> >> should prevent other backends from trying to touch the table.
>
> > That reminds me.
> > DROP TABLE doesn't hold exlusive lock till end of transaction.
> > UnlockRelation() seems too early.
>
> I wondered about that too --- but I didn't change it because I wasn't
> sure it was wrong. Vadim, what do you think?
I remember that Hiroshi reported about this already and
seems we decided to remove UnlockRelation from heap_destroy_with_catalog(),
but forgot to do it?
>
> > Seems ALTER TABLE doesn't acquire any lock for the target
> > relation. It's OK ?
>
> None? Yipes. Seems to me it should *definitely* be grabbing
> AccessExclusiveLock.
Yes.
Vadim