On 2014-09-29 16:35:12 -0400, Tom Lane wrote:
> Andres Freund <andres@2ndquadrant.com> writes:
> > On 2014-09-29 16:16:38 -0400, Tom Lane wrote:
> >> I wonder why it's a fixed constant at all, and not something like
> >> "wal_buffers / 8".
>
> > Because that'd be horrible performancewise on a system with many
> > wal_buffers. There's several operations where all locks are checked in
> > sequence (to see whether there's any stragglers that need to finish
> > inserting) and even some where they're acquired concurrently (e.g. for
> > xlog switch, checkpoint and such).
>
> Hm. Well, if there are countervailing considerations as to how large is a
> good value, that makes it even less likely that it's sensible to expose
> it as a user tunable.
Aren't there such considerations for most of the performance critical
gucs?
> A relevant analogy is that we don't expose a way
> to adjust the number of lock table partitions at runtime.
Which has worked out badly for e.g. the number of buffer partitions...
Greetings,
Andres Freund
-- Andres Freund http://www.2ndQuadrant.com/PostgreSQL Development, 24x7 Support, Training &
Services