HAndres,
> Well. For one you haven't proven that the changed setting actually
> improves performance. So the comparison isn't really valid. We will
I agree that I haven't proven this yet, but that doesn't make it
invalid. Just unproven.
I agree that performance testing is necessary ... and the kind of
performance testing which generated freeze activity, which makes it harder.
> I think you're missing the fact that we don't neccessarily dirty pages,
> just because vacuum visits them. In a mostly insert workload its not
> uncommon that vacuum doesn't change anything. In many scenarios the
Hmmm. But does vacuum visit the pages anyway, in that case?
> b) freezing tuples requires a xlog_heap_freeze wal record to be
> emitted. If we don't freeze, we don't need to emit it.
Oh, that's annoying.
> I think I have said that before, but anyway: I think as long as we need
> to regularly walk the whole relation for correctness there isn't much
> hope to get this into an acceptable state. If we would track the oldest
> xid in a page in a 'freeze map' we could make much of this more
> efficient and way more scalable to bigger data volumes.
Yeah, or come up with some way to eliminate freezing entirely.
--
Josh Berkus
PostgreSQL Experts Inc.
http://pgexperts.com