Re: database bloat,non removovable rows, slow query etc... [RESOLVED]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Gregory Stark <gsstark@xxxxxxx> writes:
> I must be misunderstanding Tom's comment then. 

> What I'm referring to is lazy_vacuum_rel() calls vacuum_set_xid_limits with
> the relisshared flag of the relation. vacuum_set_xid_limits passes that to
> GetOldestXmin as the allDbs parameter. GetOldestXmin ignores transactions not
> connected to the same database unless allDbs is true.

The problem is the indirect effect of other backends' xmin values,
which are computed across all live backends.

In the current structure, it's hard to see how to fix this except
by making each backend compute and advertise both a global and
database-local xmin.  This seems a bit ugly.  Also, someone asked
recently whether we could avoid counting prepared xacts when figuring
vacuum cutoffs, which seems a fair question --- but again, how to do
that without doubling the number of advertised xmin values yet again?

I'm starting to feel that we've reached the limits of this system of
accounting for live XIDs, but I have no idea what the next step might
look like...

			regards, tom lane


[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux