On Thu, Dec 05, 2019 at 06:49:06PM -0500, Tom Lane wrote: > The only part that would get canceled in response to somebody taking a > non-exclusive lock is the last step, which is truncation of unused blocks at > the end of the table; that requires an exclusive lock. On Thu, Dec 05, 2019 at 06:55:02PM -0500, Jeff Janes wrote: > If the vacuum finds a lot of empty pages at the end of the table, it will > try to truncate them and takes a strong lock to do so. Should the exclusive lock bit be documented ? https://www.postgresql.org/docs/12/explicit-locking.html