Re: AUTOVACUUM after purging a lot of records

From: Kevin Grittner <kgrittn(at)ymail(dot)com>
To: Jeni Fifrick <jfifrick(at)incomm(dot)com>, "pgsql-admin(at)postgresql(dot)org" <pgsql-admin(at)postgresql(dot)org>
Subject: Re: AUTOVACUUM after purging a lot of records
Date: 2013-12-13 22:31:44
Message-ID: 1386973904.10081.YahooMailNeo@web162903.mail.bf1.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Jeni Fifrick <jfifrick(at)incomm(dot)com> wrote:

> I think, I'll let autovaccum run and check it tomorrow.

Seems reasonable.

> So, what you're saying is if I run the "VACUUM ANALYZE" while the
> autovacuum still running, the autovacuum will be cancelled, right?

Yes.

> And, I need to set the maintenance_work_mem in the session before
> executing the 'VACUUM ANALYZE transactionlog'. Is this a correct
> syntax?

You might want to connect with psql and issue these statements:

SET maintenance_work_mem = '2GB';
VACUUM ANALYZE transactionlog;

> Regarding the configuration, all the memory related are still
> with default value.

> We did change the max_connections to be 2000. BUT, so far, our
> max connection is around 500.

Well, work_mem is the limit on memory used by each node (processing
step) of every query that is running.  A good rule of thumb is to
assume one such allocation per allowed connection, and keep that to
25% of machine RAM.  So 64GB * 0.25 / 2000 would be 8MB.  If you
could drop max connections, you could boost work_mem proportionally
without risking blowing out all of your OS cache (or even
swapping).

--
Kevin Grittner
EDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Browse pgsql-admin by date

  From Date Subject
Next Message bricklen 2013-12-13 23:05:20 Re: script to drop and build all indexes in database
Previous Message Campbell, Lance 2013-12-13 21:55:30 script to drop and build all indexes in database