Followup Question about Vacuum from newsgroup

From: HT Levine <htlevine(at)ebates(dot)com>
To: "'pgsql-admin(at)postgresql(dot)org(dot)'" <pgsql-admin(at)postgresql(dot)org>
Subject: Followup Question about Vacuum from newsgroup
Date: 2002-12-15 19:22:51
Message-ID: A0F24737FCB34F489EC955D143BDD851018EFEBF@exchange-sf1.corp.ebates.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

HI All,

I found the following posting about Vacuum in the postgres.admin newsgroup
(see below my question)

I have the same problem: We are using HUGE amounts of diskspace in our
production database, but the standby (created daily from a pgdump /
pg_restore of our production server) is about 1/2 the size.

We have a base of about 4 million users so our datafiles are pretty big. I
shut the site down and did a VACUUM ANALYZE VERBOSE <tablename> of 2 of the
largest tables. It took over 4 hours. When it was all said and done,
disk utilization had gone UP.

My suspicion is that there are pg_toast_xxxxx files left in the base
directory? If I identify them with oid2name (waiting for netops to build
that) is it ok to just delete those toast files? This is the most
crucial part of our revenue year (tons of christmas shoppers buying tons)
so we absolutely can't have any down time or corruption.

Any advice or links to documentation that covers this specifically would be
most helpful.

thanks

----------------------- start newsgroup posting
------------------------------------


Author: Morten Guldager < <mailto:PostgreSQL-admin(at)mogul(dot)dk>
PostgreSQL-admin(at)mogul(dot)dk>
Date: Wed 16 Oct 15:09:40 2002 CDT

<http://fts.postgresql.org/db/mw/index.html?word=Re%3A%20%5BADMIN%5D%20VACUU
M%20FULL%20fails%20to%20free%20diskspacef> Subject: Re: [ADMIN] VACUUM FULL
fails to free diskspacef
<http://fts.postgresql.org/db/mw/msg.html?mid=1065782#thread> Thread: 2
messages
On 2002.10.16 20:18 Bruce Momjian wrote:

> Morten Guldager wrote:

> >

> > My database cluster have one database with one table. (if we don't

> > count template0 and 1.

> >

> > My table has 3 collumns, 2 ints and a bytea. 2.5M rows and it

> consumes

> > 150G diskspace. I have a unique index on the 2 ints.

> >

> > I did a TRUNCATE on the table, and a VACUUM FULL.

> >

> > But PostgreSQL-7.2.3 did not return the space to the filesystem.

> (ext3

> > on linux)

>

> That is interesting. I originally thought maybe the indexes aren't

> truncated, but it looks like that is happening. Please try

> /contrib/oid2name to find which files are taking the space.

Ok, never used oid2name before, but here we go:

I located a datafile which must be one of the files holding the

non-freed space, it is 1073741824 bytes big.

It is: $PGDATA/base/16556/20048694

Next I did a: (mogul is the name of my database)

$ oid2name -d mogul -o 20048694

Tablename of oid 20048694 from database "mogul":

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

20048694 = pg_toast_20048692

and then:

$ oid2name -d mogul -o 20048692

Tablename of oid 20048692 from database "mogul":

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

20048692 = regninger

And "regninger" is the name of the table I just truncated.

I have tried to drop the indexes, that does not help.

If I drop the database the space do get freed.


Browse pgsql-admin by date

  From Date Subject
Next Message HT Levine 2002-12-15 19:31:27 Followup Question about Vacuum from newsgroup
Previous Message jonesrf1 2002-12-15 16:36:05 7.2.3 build fails --with-java