Tom,
> I think you are right that these reflect heap or btree-index extension
> operations. Those do not actually take locks on the *table* however,
> but locks on a single page within it (which are completely orthogonal to
> table locks and don't conflict). The pg_locks output leaves something
> to be desired, because you can't tell the difference between table and
> page locks.
Aside from foriegn keys, though, is there any way in which INSERT page locks
could block other inserts? I have another system (Lyris) where that
appears to be happening with 32 concurrent INSERT streams. It's possible
that the problem is somewhere else, but I'm disturbed by the possibility.
--
--Josh
Josh Berkus
Aglio Database Solutions
San Francisco