Ivan Voras <ivoras@gmail.com> writes:
> On 28 January 2016 at 00:13, Bill Moran <wmoran@potentialtech.com> wrote:
>
> On Wed, 27 Jan 2016 23:54:37 +0100
> Ivan Voras <ivoras@gmail.com> wrote:
>
> > So, question #1: WTF? How could this happen, on a regularly vacuumed
> > system? Shouldn't the space be reused, at least after a VACUUM? The issue
> > here is not the absolute existence of the bloat space, it's that it's
> > constantly growing for *system* tables.
>
> With a lot of activity, once a day probably isn't regular enough.
>
> I sort of see what you are saying. I'm curious, though, what goes wrong with the following list of expectations:
>
> 1. Day-to-day load is approximately the same
> 2. So, at the end of the first day there will be some amount of bloat
> 3. Vacuum will mark that space re-usable
> 4. Within the next day, this space will actually be re-used
> 5. ... so the bloat won't grow.
>
> Basically, I'm wondering why is it growing after vacuums, not why it exists in the first place?
Probably just a classic case of long-open transactions.
And/or vacuum running as an unprivileged user and thus can't vacuum
catalogs... perhaps with a naive batch job launcher that sends stderr
to /dev/null.
>
--
Jerry Sievers
Postgres DBA/Development Consulting
e: postgres.consulting@comcast.net
p: 312.241.7800