Re: 9.2beta1, parallel queries, ReleasePredicateLocks, CheckForSerializableConflictIn in the oprofile

Robert Haas <robertmhaas@gmail.com>

From: Robert Haas <robertmhaas@gmail.com>
To: Merlin Moncure <mmoncure@gmail.com>
Cc: Sergey Koposov <koposov@ast.cam.ac.uk>, pgsql-hackers@postgresql.org
Date: 2012-05-24T21:24:12Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Improve bulk-insert performance by keeping the current target buffer pinned

On Thu, May 24, 2012 at 4:46 PM, Merlin Moncure <mmoncure@gmail.com> wrote:
> Wait -- OP's gripe this isn't regarding standard pgbench, but multiple
> large concurrent 'insert into foo select...'.  I looked in the code
> and it appears that the only bulk insert strategy using operations are
> copy, create table as select, and table rewrite operations. Concurrent
> INSERT SELECT apparently doesn't get the benefit of a strategy and
> should be fighting over the freelist once the pool exhausts.

I think you are right.

> We don't get to skip wal of course, but we should be able to use a
> bulk insert strategy, especially if there was some way of predicting
> that a large number of tuples were going to be inserted.  I'm
> wondering though of contention on the free list is in fact the OP's
> problem.

Not sure.  It might be some other LWLock, but it's hard to tell which
one from the information provided.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company