Re: Why does VACUUM FULL bother locking pages?

From: "Jonah H(dot) Harris" <jonah(dot)harris(at)gmail(dot)com>
To: Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Why does VACUUM FULL bother locking pages?
Date: 2005-09-16 20:41:39
Message-ID: 36e682920509161341e624597@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Was it relcache related?

On 9/16/05, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> wrote:
>
> Hackers,
>
> I'm reading the vacuum code and I just noticed that the routines
> move_plain_tuple and move_chain_tuple expect the dest and source blocks
> to be locked, and unlock them at exit. The only caller of both is
> repair_frag, whose only caller in turn is full_vacuum_rel. Same thing
> for update_hint_bits.
>
> So, the only callers of both has already acquired appropiate locks at
> the relation level -- nobody is going to be modifying the blocks while
> they proceed. So why bother locking the pages at all? Is there a
> reason or is this an historical accident?
>
> --
> Alvaro Herrera -- Valdivia, Chile Architect, www.EnterpriseDB.com<http://www.EnterpriseDB.com>
> "Puedes vivir solo una vez, pero si lo haces bien, una vez es suficiente"
>
> ---------------------------(end of broadcast)---------------------------
> TIP 9: In versions below 8.0, the planner will ignore your desire to
> choose an index scan if your joining column's datatypes do not
> match
>

--
Respectfully,

Jonah H. Harris, Database Internals Architect
EnterpriseDB Corporation
http://www.enterprisedb.com/

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2005-09-16 20:54:55 Re: [HACKERS] statement_timeout logging
Previous Message Bruce Momjian 2005-09-16 19:41:11 Re: [HACKERS] statement_timeout logging