On 26 May 2012 01:36, Jeff Janes <jeff.janes@gmail.com> wrote:
> On Fri, May 25, 2012 at 3:04 PM, Ivan Voras <ivoras@freebsd.org> wrote:
>> Hello,
>>
>> I'm wondering if there is ia document describing which guarantees (if
>> any) PostgreSQL makes about concurrency for various operations? Speaking
>> in general (i.e. IO can handle it, number of CPU cores and client
>> threads is optimal), are fully concurrent operations (independant and
>> non-blocking) possible for:
>
> By "fully concurrent" do you mean that there is no detectable
> sub-linear scaling at all? I'm pretty sure that no such guarantees
> can be made.
> For concurrent bulk loads, there was severe contention on generating
> WAL between concurrent bulk loaders. That is greatly improved in the
> upcoming 9.2 release.
I was thinking about major exclusive locks in the code paths which
would block multiple clients operating on unrelated data (the same
questions go for update operations). For example: if the free space
map or whole index trees are exclusively locked, things like that. The
WAL issue you mention seems exactly like what I was asking about, but
are there any others?