Commit 6a10f0f7 authored by Alvaro Herrera's avatar Alvaro Herrera

Release the exclusive lock on the table early after truncating it in lazy

vacuum, instead of waiting till commit.
parent f7379f5c
......@@ -36,7 +36,7 @@
*
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/commands/vacuumlazy.c,v 1.92 2007/09/10 17:58:45 alvherre Exp $
* $PostgreSQL: pgsql/src/backend/commands/vacuumlazy.c,v 1.93 2007/09/10 21:40:03 alvherre Exp $
*
*-------------------------------------------------------------------------
*/
......@@ -802,6 +802,9 @@ lazy_truncate_heap(Relation onerel, LVRelStats *vacrelstats)
*/
RelationTruncate(onerel, new_rel_pages);
/* Now we're OK to release the lock. */
UnlockRelation(onerel, AccessExclusiveLock);
/*
* Drop free-space info for removed blocks; these must not get entered
* into the FSM!
......@@ -834,10 +837,6 @@ lazy_truncate_heap(Relation onerel, LVRelStats *vacrelstats)
vacrelstats->rel_pages = new_rel_pages;
vacrelstats->pages_removed = old_rel_pages - new_rel_pages;
/*
* We keep the exclusive lock until commit (perhaps not necessary)?
*/
ereport(elevel,
(errmsg("\"%s\": truncated %u to %u pages",
RelationGetRelationName(onerel),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment