Thread: Lazy vacuum space reclaiming

Lazy vacuum space reclaiming

From
"Jim C. Nasby"
Date:
From http://www.postgresql.org/docs/8.0/interactive/maintenance.html:

"The first form, known as "lazy vacuum" or just VACUUM, marks expired
data in tables and indexes for future reuse; it does not attempt to
reclaim the space used by this expired data immediately. Therefore, the
table file is not shortened, and any unused space in the file is not
returned to the operating system."

This isn't completely accurate, though I'm not sure what a good wording
would be. Maybe:

"The first form, known as "lazy vacuum" or just VACUUM, marks expired
data in tables and indexes for future reuse. It only reclaims expired
space from tables if it is at the end of the table, and no empty space
is reclaimed from indexes."
--
Jim C. Nasby, Sr. Engineering Consultant      jnasby@pervasive.com
Pervasive Software      http://pervasive.com    work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461

Re: Lazy vacuum space reclaiming

From
Bruce Momjian
Date:
Adjustment patch applied.  Thanks.

---------------------------------------------------------------------------

Jim C. Nasby wrote:
> >From http://www.postgresql.org/docs/8.0/interactive/maintenance.html:
>
> "The first form, known as "lazy vacuum" or just VACUUM, marks expired
> data in tables and indexes for future reuse; it does not attempt to
> reclaim the space used by this expired data immediately. Therefore, the
> table file is not shortened, and any unused space in the file is not
> returned to the operating system."
>
> This isn't completely accurate, though I'm not sure what a good wording
> would be. Maybe:
>
> "The first form, known as "lazy vacuum" or just VACUUM, marks expired
> data in tables and indexes for future reuse. It only reclaims expired
> space from tables if it is at the end of the table, and no empty space
> is reclaimed from indexes."
> --
> Jim C. Nasby, Sr. Engineering Consultant      jnasby@pervasive.com
> Pervasive Software      http://pervasive.com    work: 512-231-6117
> vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: Have you checked our extensive FAQ?
>
>                http://www.postgresql.org/docs/faq
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
Index: doc/src/sgml/maintenance.sgml
===================================================================
RCS file: /cvsroot/pgsql/doc/src/sgml/maintenance.sgml,v
retrieving revision 1.51
diff -c -c -r1.51 maintenance.sgml
*** doc/src/sgml/maintenance.sgml    4 Nov 2005 23:14:00 -0000    1.51
--- doc/src/sgml/maintenance.sgml    7 Dec 2005 05:35:08 -0000
***************
*** 141,151 ****
      command. The first form, known as <quote>lazy vacuum</quote> or
      just <command>VACUUM</command>, marks expired data in tables and
      indexes for future reuse; it does <emphasis>not</emphasis> attempt
!     to reclaim the space used by this expired data
!     immediately. Therefore, the table file is not shortened, and any
!     unused space in the file is not returned to the operating
!     system. This variant of <command>VACUUM</command> can be run
!     concurrently with normal database operations.
     </para>

     <para>
--- 141,152 ----
      command. The first form, known as <quote>lazy vacuum</quote> or
      just <command>VACUUM</command>, marks expired data in tables and
      indexes for future reuse; it does <emphasis>not</emphasis> attempt
!     to reclaim the space used by this expired data unless the space is
!     at the end of the table and an exclusive lock can be obtained easily
!     on the table. Unused space at the start or middle of the file does
!     not result in the file being shortened and space returned to the
!     operating system. This variant of <command>VACUUM</command> can be
!     run concurrently with normal database operations.
     </para>

     <para>