Why do we let autovacuum give up?

Started by Joshua D. Drakeabout 12 years ago32 messageshackers
Jump to latest
#1Joshua D. Drake
jd@commandprompt.com

Hello,

I have run into yet again another situation where there was an
assumption that autovacuum was keeping up and it wasn't. It was caused
by autovacuum quitting because another process requested a lock.

In turn we received a ton of bloat on pg_attribute which caused all
kinds of other issues (as can be expected).

The more I run into it, the more it seems like autovacuum should behave
like vacuum, in that it gets precedence when it is running. First come,
first serve as they say.

Thoughts?

JD
--
Command Prompt, Inc. - http://www.commandprompt.com/ 509-416-6579
PostgreSQL Support, Training, Professional Services and Development
High Availability, Oracle Conversion, Postgres-XC, @cmdpromptinc
For my dreams of your image that blossoms
a rose in the deeps of my heart. - W.B. Yeats

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Joshua D. Drake (#1)
Re: Why do we let autovacuum give up?

"Joshua D. Drake" <jd@commandprompt.com> writes:

I have run into yet again another situation where there was an
assumption that autovacuum was keeping up and it wasn't. It was caused
by autovacuum quitting because another process requested a lock.

In turn we received a ton of bloat on pg_attribute which caused all
kinds of other issues (as can be expected).

The more I run into it, the more it seems like autovacuum should behave
like vacuum, in that it gets precedence when it is running. First come,
first serve as they say.

1. Back when it worked like that, things were worse.

2. What have you got that is requesting exclusive lock on pg_attribute?
That seems like a pretty unfriendly behavior in itself.

regards, tom lane

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#3Josh Berkus
josh@agliodbs.com
In reply to: Joshua D. Drake (#1)
Re: Why do we let autovacuum give up?

On 01/23/2014 12:34 PM, Joshua D. Drake wrote:

Hello,

I have run into yet again another situation where there was an
assumption that autovacuum was keeping up and it wasn't. It was caused
by autovacuum quitting because another process requested a lock.

In turn we received a ton of bloat on pg_attribute which caused all
kinds of other issues (as can be expected).

The more I run into it, the more it seems like autovacuum should behave
like vacuum, in that it gets precedence when it is running. First come,
first serve as they say.

Thoughts?

If we let autovacuum block user activity, a lot more people would turn
it off.

Now, if you were to argue that we should have some way to monitor the
tables which autovac can never touch because of conflicts, I would agree
with you.

--
Josh Berkus
PostgreSQL Experts Inc.
http://pgexperts.com

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#4Harold Giménez
harold@heroku.com
In reply to: Josh Berkus (#3)
Re: Why do we let autovacuum give up?

On Thu, Jan 23, 2014 at 12:53 PM, Josh Berkus <josh@agliodbs.com> wrote:

On 01/23/2014 12:34 PM, Joshua D. Drake wrote:

Hello,

I have run into yet again another situation where there was an
assumption that autovacuum was keeping up and it wasn't. It was caused
by autovacuum quitting because another process requested a lock.

In turn we received a ton of bloat on pg_attribute which caused all
kinds of other issues (as can be expected).

The more I run into it, the more it seems like autovacuum should behave
like vacuum, in that it gets precedence when it is running. First come,
first serve as they say.

Thoughts?

If we let autovacuum block user activity, a lot more people would turn
it off.

Now, if you were to argue that we should have some way to monitor the
tables which autovac can never touch because of conflicts, I would agree
with you.

Agree completely. Easy ways to monitor this would be great. Once you
know there's a problem, tweaking autovacuum settings is very hard and
misunderstood, and explaining how to be effective at it is a dark art
too.

-Harold

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#5Mark Kirkwood
mark.kirkwood@catalyst.net.nz
In reply to: Tom Lane (#2)
Re: Why do we let autovacuum give up?

On 24/01/14 09:49, Tom Lane wrote:

2. What have you got that is requesting exclusive lock on
pg_attribute? That seems like a pretty unfriendly behavior in itself.
regards, tom lane

I've seen this sort of problem where every db session was busily
creating temporary tables. I never got to the find *why* they needed to
make so many, but it seemed like a bad idea.

Regards

Mark

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#6Robert Haas
robertmhaas@gmail.com
In reply to: Mark Kirkwood (#5)
Re: Why do we let autovacuum give up?

On Thu, Jan 23, 2014 at 4:03 PM, Mark Kirkwood
<mark.kirkwood@catalyst.net.nz> wrote:

On 24/01/14 09:49, Tom Lane wrote:

2. What have you got that is requesting exclusive lock on pg_attribute?
That seems like a pretty unfriendly behavior in itself. regards, tom lane

I've seen this sort of problem where every db session was busily creating
temporary tables. I never got to the find *why* they needed to make so many,
but it seemed like a bad idea.

But... how does that result on a vacuum-incompatible lock request
against pg_attribute?

I see that it'll insert lots of rows into pg_attribute, and maybe
later delete them, but none of that blocks vacuum.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#7Joshua D. Drake
jd@commandprompt.com
In reply to: Mark Kirkwood (#5)
Re: Why do we let autovacuum give up?

On 01/23/2014 01:03 PM, Mark Kirkwood wrote:

On 24/01/14 09:49, Tom Lane wrote:

2. What have you got that is requesting exclusive lock on
pg_attribute? That seems like a pretty unfriendly behavior in itself.
regards, tom lane

I've seen this sort of problem where every db session was busily
creating temporary tables. I never got to the find *why* they needed to
make so many, but it seemed like a bad idea.

Yep... that's the one. They are creating lots and lots of temp tables.

JD

--
Command Prompt, Inc. - http://www.commandprompt.com/ 509-416-6579
PostgreSQL Support, Training, Professional Services and Development
High Availability, Oracle Conversion, Postgres-XC, @cmdpromptinc
For my dreams of your image that blossoms
a rose in the deeps of my heart. - W.B. Yeats

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#8Pavel Stehule
pavel.stehule@gmail.com
In reply to: Mark Kirkwood (#5)
Re: Why do we let autovacuum give up?

Dne 23.1.2014 22:04 "Mark Kirkwood" <mark.kirkwood@catalyst.net.nz>
napsal(a):

On 24/01/14 09:49, Tom Lane wrote:

2. What have you got that is requesting exclusive lock on pg_attribute?

That seems like a pretty unfriendly behavior in itself. regards, tom lane

I've seen this sort of problem where every db session was busily creating

temporary tables. I never got to the find *why* they needed to make so
many, but it seemed like a bad idea.

Our customer had same problem with temp tables by intensively plpgsql
functions. For higher load a temp tables are performance and stability
killer. Vacuum of pg attrib has very ugly impacts :(

Regars

Pavel

After redesign - without tmp tables - his applications works well.

We needs a global temp tables

Show quoted text

Regards

Mark

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#9Tom Lane
tgl@sss.pgh.pa.us
In reply to: Mark Kirkwood (#5)
Re: Why do we let autovacuum give up?

Mark Kirkwood <mark.kirkwood@catalyst.net.nz> writes:

On 24/01/14 09:49, Tom Lane wrote:

2. What have you got that is requesting exclusive lock on
pg_attribute? That seems like a pretty unfriendly behavior in itself.

I've seen this sort of problem where every db session was busily
creating temporary tables. I never got to the find *why* they needed to
make so many, but it seemed like a bad idea.

That shouldn't result in any table-level exclusive locks on system
catalogs, though.

[ thinks... ] It's possible that what you saw is not the
kick-out-autovacuum-entirely behavior, but the behavior added in commit
bbb6e559c, whereby vacuum (auto or regular) will skip over pages that it
can't immediately get an exclusive buffer lock on. On a heavily used
table, we might skip the same page repeatedly, so that dead tuples don't
get cleaned for a long time.

To add insult to injury, despite having done that, vacuum would reset the
pgstats dead-tuple count to zero, thus postponing the next autovacuum.
I think commit 115f41412 may have improved the situation, but I'd want
to see some testing of this theory before I'd propose back-patching it.

regards, tom lane

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#10Mark Kirkwood
mark.kirkwood@catalyst.net.nz
In reply to: Robert Haas (#6)
Re: Why do we let autovacuum give up?

On 24/01/14 10:09, Robert Haas wrote:

On Thu, Jan 23, 2014 at 4:03 PM, Mark Kirkwood
<mark.kirkwood@catalyst.net.nz> wrote:

On 24/01/14 09:49, Tom Lane wrote:

2. What have you got that is requesting exclusive lock on pg_attribute?
That seems like a pretty unfriendly behavior in itself. regards, tom lane

I've seen this sort of problem where every db session was busily creating
temporary tables. I never got to the find *why* they needed to make so many,
but it seemed like a bad idea.

But... how does that result on a vacuum-incompatible lock request
against pg_attribute?

I see that it'll insert lots of rows into pg_attribute, and maybe
later delete them, but none of that blocks vacuum.

That was my thought too - if I see it happening again here (was a year
or so ago that I saw some serious pg_attribute bloat) I'll dig deeper.

regards

Mark

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#11Mark Kirkwood
mark.kirkwood@catalyst.net.nz
In reply to: Mark Kirkwood (#10)
Re: Why do we let autovacuum give up?

On 24/01/14 10:16, Mark Kirkwood wrote:

On 24/01/14 10:09, Robert Haas wrote:

On Thu, Jan 23, 2014 at 4:03 PM, Mark Kirkwood
<mark.kirkwood@catalyst.net.nz> wrote:

On 24/01/14 09:49, Tom Lane wrote:

2. What have you got that is requesting exclusive lock on
pg_attribute?
That seems like a pretty unfriendly behavior in itself. regards,
tom lane

I've seen this sort of problem where every db session was busily
creating
temporary tables. I never got to the find *why* they needed to make
so many,
but it seemed like a bad idea.

But... how does that result on a vacuum-incompatible lock request
against pg_attribute?

I see that it'll insert lots of rows into pg_attribute, and maybe
later delete them, but none of that blocks vacuum.

That was my thought too - if I see it happening again here (was a year
or so ago that I saw some serious pg_attribute bloat) I'll dig deeper.

Actually not much digging required. Running the attached script via
pgbench (8 sessions) against a default configured postgres 8.4 sees
pg_attribute get to 1G after about 15 minutes.

Attachments:

temp.sqltext/x-sql; name=temp.sqlDownload
#12Magnus Hagander
magnus@hagander.net
In reply to: Harold Giménez (#4)
Re: Why do we let autovacuum give up?

On Thu, Jan 23, 2014 at 10:00 PM, Harold Giménez <harold@heroku.com> wrote:

On Thu, Jan 23, 2014 at 12:53 PM, Josh Berkus <josh@agliodbs.com> wrote:

On 01/23/2014 12:34 PM, Joshua D. Drake wrote:

Hello,

I have run into yet again another situation where there was an
assumption that autovacuum was keeping up and it wasn't. It was caused
by autovacuum quitting because another process requested a lock.

In turn we received a ton of bloat on pg_attribute which caused all
kinds of other issues (as can be expected).

The more I run into it, the more it seems like autovacuum should behave
like vacuum, in that it gets precedence when it is running. First come,
first serve as they say.

Thoughts?

If we let autovacuum block user activity, a lot more people would turn
it off.

Now, if you were to argue that we should have some way to monitor the
tables which autovac can never touch because of conflicts, I would agree
with you.

Agree completely. Easy ways to monitor this would be great. Once you
know there's a problem, tweaking autovacuum settings is very hard and
misunderstood, and explaining how to be effective at it is a dark art
too.

FWIW, I have a patch around somewhere that I never cleaned up properly for
submissions that simply added a counter to pg_stat_user_tables indicating
how many times vacuum had aborted on that specific table. If that's enough
info (it was for my case) to cover this case, I can try to dig it out
again and clean it up...

--
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/

#13Josh Berkus
josh@agliodbs.com
In reply to: Joshua D. Drake (#1)
Re: Why do we let autovacuum give up?

On 01/23/2014 02:17 PM, Magnus Hagander wrote:

FWIW, I have a patch around somewhere that I never cleaned up properly for
submissions that simply added a counter to pg_stat_user_tables indicating
how many times vacuum had aborted on that specific table. If that's enough
info (it was for my case) to cover this case, I can try to dig it out
again and clean it up...

It would be 100% more information than we currently have. How much more
difficult would it be to count completed autovacuums as well? It's
really the ratio of the two which matters ...

--
Josh Berkus
PostgreSQL Experts Inc.
http://pgexperts.com

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#14Josh Berkus
josh@agliodbs.com
In reply to: Joshua D. Drake (#1)
Re: Why do we let autovacuum give up?

On 01/23/2014 02:55 PM, Josh Berkus wrote:

On 01/23/2014 02:17 PM, Magnus Hagander wrote:

FWIW, I have a patch around somewhere that I never cleaned up properly for
submissions that simply added a counter to pg_stat_user_tables indicating
how many times vacuum had aborted on that specific table. If that's enough
info (it was for my case) to cover this case, I can try to dig it out
again and clean it up...

It would be 100% more information than we currently have. How much more
difficult would it be to count completed autovacuums as well? It's
really the ratio of the two which matters ...

Actually, now that I think about it, the ratio of the two doesn't matter
as much as whether the most recent autovacuum aborted or not.

--
Josh Berkus
PostgreSQL Experts Inc.
http://pgexperts.com

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#15Jeff Janes
jeff.janes@gmail.com
In reply to: Mark Kirkwood (#11)
Re: Why do we let autovacuum give up?

On Thu, Jan 23, 2014 at 1:41 PM, Mark Kirkwood <
mark.kirkwood@catalyst.net.nz> wrote:

On 24/01/14 10:16, Mark Kirkwood wrote:

On 24/01/14 10:09, Robert Haas wrote:

On Thu, Jan 23, 2014 at 4:03 PM, Mark Kirkwood
<mark.kirkwood@catalyst.net.nz> wrote:

On 24/01/14 09:49, Tom Lane wrote:

2. What have you got that is requesting exclusive lock on pg_attribute?
That seems like a pretty unfriendly behavior in itself. regards, tom
lane

I've seen this sort of problem where every db session was busily
creating
temporary tables. I never got to the find *why* they needed to make so
many,
but it seemed like a bad idea.

But... how does that result on a vacuum-incompatible lock request
against pg_attribute?

I see that it'll insert lots of rows into pg_attribute, and maybe
later delete them, but none of that blocks vacuum.

That was my thought too - if I see it happening again here (was a year or
so ago that I saw some serious pg_attribute bloat) I'll dig deeper.

Actually not much digging required. Running the attached script via
pgbench (8 sessions) against a default configured postgres 8.4 sees
pg_attribute get to 1G after about 15 minutes.

At that rate, with default throttling, it will be a close race whether
autovac can vacuum pages as fast as they are being added. Even if it never
gets cancelled, it might not ever finish.

Cheers,

Jeff

#16Mark Kirkwood
mark.kirkwood@catalyst.net.nz
In reply to: Jeff Janes (#15)
Re: Why do we let autovacuum give up?

On 24/01/14 12:13, Jeff Janes wrote:

On Thu, Jan 23, 2014 at 1:41 PM, Mark Kirkwood <
mark.kirkwood@catalyst.net.nz> wrote:

On 24/01/14 10:16, Mark Kirkwood wrote:

On 24/01/14 10:09, Robert Haas wrote:

On Thu, Jan 23, 2014 at 4:03 PM, Mark Kirkwood
<mark.kirkwood@catalyst.net.nz> wrote:

On 24/01/14 09:49, Tom Lane wrote:

2. What have you got that is requesting exclusive lock on pg_attribute?
That seems like a pretty unfriendly behavior in itself. regards, tom
lane

I've seen this sort of problem where every db session was busily
creating
temporary tables. I never got to the find *why* they needed to make so
many,
but it seemed like a bad idea.

But... how does that result on a vacuum-incompatible lock request
against pg_attribute?

I see that it'll insert lots of rows into pg_attribute, and maybe
later delete them, but none of that blocks vacuum.

That was my thought too - if I see it happening again here (was a year or
so ago that I saw some serious pg_attribute bloat) I'll dig deeper.

Actually not much digging required. Running the attached script via
pgbench (8 sessions) against a default configured postgres 8.4 sees
pg_attribute get to 1G after about 15 minutes.

At that rate, with default throttling, it will be a close race whether
autovac can vacuum pages as fast as they are being added. Even if it never
gets cancelled, it might not ever finish.

Yes - I should have set the cost delay to 0 first (checking that now).

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#17Mark Kirkwood
mark.kirkwood@catalyst.net.nz
In reply to: Mark Kirkwood (#16)
Re: Why do we let autovacuum give up?

On 24/01/14 12:28, Mark Kirkwood wrote:

On 24/01/14 12:13, Jeff Janes wrote:

On Thu, Jan 23, 2014 at 1:41 PM, Mark Kirkwood <
mark.kirkwood@catalyst.net.nz> wrote:

On 24/01/14 10:16, Mark Kirkwood wrote:

On 24/01/14 10:09, Robert Haas wrote:

On Thu, Jan 23, 2014 at 4:03 PM, Mark Kirkwood
<mark.kirkwood@catalyst.net.nz> wrote:

On 24/01/14 09:49, Tom Lane wrote:

2. What have you got that is requesting exclusive lock on
pg_attribute?
That seems like a pretty unfriendly behavior in itself. regards,
tom
lane

I've seen this sort of problem where every db session was busily
creating
temporary tables. I never got to the find *why* they needed to
make so
many,
but it seemed like a bad idea.

But... how does that result on a vacuum-incompatible lock request
against pg_attribute?

I see that it'll insert lots of rows into pg_attribute, and maybe
later delete them, but none of that blocks vacuum.

That was my thought too - if I see it happening again here (was a
year or
so ago that I saw some serious pg_attribute bloat) I'll dig deeper.

Actually not much digging required. Running the attached script via
pgbench (8 sessions) against a default configured postgres 8.4 sees
pg_attribute get to 1G after about 15 minutes.

At that rate, with default throttling, it will be a close race whether
autovac can vacuum pages as fast as they are being added. Even if it
never
gets cancelled, it might not ever finish.

Yes - I should have set the cost delay to 0 first (checking that now).

Doing that (and a few other autovac tweaks):

autovacuum_max_workers = 4
autovacuum_naptime = 10s
autovacuum_vacuum_scale_factor = 0.1
autovacuum_analyze_scale_factor = 0.1
autovacuum_vacuum_cost_delay = 0ms

Stops excessive bloat - clearly autovacuum *is* able to vacuum
pg_attribute in this case. Back to drawing board for a test case.

Regards

Mark

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#18Andres Freund
andres@anarazel.de
In reply to: Mark Kirkwood (#17)
Re: Why do we let autovacuum give up?

On 2014-01-24 12:49:57 +1300, Mark Kirkwood wrote:

autovacuum_max_workers = 4
autovacuum_naptime = 10s
autovacuum_vacuum_scale_factor = 0.1
autovacuum_analyze_scale_factor = 0.1
autovacuum_vacuum_cost_delay = 0ms

Stops excessive bloat - clearly autovacuum *is* able to vacuum pg_attribute
in this case. Back to drawing board for a test case.

Well, I think quite many people don't realize it might be necessary to
tune autovac on busy workloads. As it very well might be the case in
Josh's case.

Greetings,

Andres Freund

--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#19Andres Freund
andres@anarazel.de
In reply to: Tom Lane (#9)
Re: Why do we let autovacuum give up?

On 2014-01-23 16:15:50 -0500, Tom Lane wrote:

[ thinks... ] It's possible that what you saw is not the
kick-out-autovacuum-entirely behavior, but the behavior added in commit
bbb6e559c, whereby vacuum (auto or regular) will skip over pages that it
can't immediately get an exclusive buffer lock on. On a heavily used
table, we might skip the same page repeatedly, so that dead tuples don't
get cleaned for a long time.

I don't think it's too likely as an explanation here. Such workloads are
likely to fill a page with only dead tuples, right? Once all tuples are
safely dead they will be killed from the btree which should cause the
page not to be visited anymore and thus safely vacuumable.

Greetings,

Andres Freund

--
Andres Freund http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#20Tom Lane
tgl@sss.pgh.pa.us
In reply to: Andres Freund (#19)
Re: Why do we let autovacuum give up?

Andres Freund <andres@2ndquadrant.com> writes:

On 2014-01-23 16:15:50 -0500, Tom Lane wrote:

[ thinks... ] It's possible that what you saw is not the
kick-out-autovacuum-entirely behavior, but the behavior added in commit
bbb6e559c, whereby vacuum (auto or regular) will skip over pages that it
can't immediately get an exclusive buffer lock on. On a heavily used
table, we might skip the same page repeatedly, so that dead tuples don't
get cleaned for a long time.

I don't think it's too likely as an explanation here. Such workloads are
likely to fill a page with only dead tuples, right? Once all tuples are
safely dead they will be killed from the btree which should cause the
page not to be visited anymore and thus safely vacuumable.

I added some instrumentation to vacuumlazy.c to count the number of pages
skipped in this way. You're right, it seems to be negligible, at least
with Mark's test case. I saw at most two pages skipped per vacuum, and
usually none; so there's no way that a whole lot of tuples are going
unvacuumed because of this. (I wonder though if we ought to add such
counting as a permanent feature ...)

I concur with the other reports that the main problem in this test case is
just that the default cost delay settings throttle autovacuum so hard that
it has no chance of keeping up. If I reduce autovacuum_vacuum_cost_delay
from the default 20ms to 2ms, it seems to keep up quite nicely, on my
machine anyway. Probably other combinations of changes would do it too.

Perhaps we need to back off the default cost delay settings a bit?
We've certainly heard more than enough reports of table bloat in
heavily-updated tables. A system that wasn't hitting the updates as hard
as it could might not need this, but on the other hand it probably
wouldn't miss the I/O cycles from a more aggressive autovacuum, either.

regards, tom lane

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

#21Andres Freund
andres@anarazel.de
In reply to: Tom Lane (#20)
#22Tom Lane
tgl@sss.pgh.pa.us
In reply to: Andres Freund (#21)
#23Craig Ringer
craig@2ndquadrant.com
In reply to: Andres Freund (#18)
#24Claudio Freire
klaussfreire@gmail.com
In reply to: Craig Ringer (#23)
#25Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Claudio Freire (#24)
#26Tom Lane
tgl@sss.pgh.pa.us
In reply to: Alvaro Herrera (#25)
#27Craig Ringer
craig@2ndquadrant.com
In reply to: Tom Lane (#26)
#28Alvaro Herrera
alvherre@2ndquadrant.com
In reply to: Craig Ringer (#27)
#29Claudio Freire
klaussfreire@gmail.com
In reply to: Craig Ringer (#27)
#30Josh Berkus
josh@agliodbs.com
In reply to: Mark Kirkwood (#5)
#31Claudio Freire
klaussfreire@gmail.com
In reply to: Josh Berkus (#30)
#32Robert Haas
robertmhaas@gmail.com
In reply to: Tom Lane (#22)