deadlock using sequences?

Started by Larsover 23 years ago2 messagesgeneral
Jump to latest
#1Lars
lhofhansl@yahoo.com

(Accidently posted to pgadmin-support.)

Hi,

I get occasional deadlocks when using sequences from
multiple clients.

Here's the table DDL:

create sequence ids;
create table foo( id integer default nextval('ids'),
parent integer, type char(4), name text, value text )
without oids;
create index xml_id on xml(id);

I'm inserting 1000s of tuples from 4-5 different
clients (all use JDBC but are single threaded).
About once every 1000 tuples I get

ERROR: deadlock detected

I can't use OIDS because I have to guarantee
monotonically increasing ids.

Any ideas? Shouldn't sequences be implemented deadlock
free?

Thanks.

-- Lars

#2Martijn van Oosterhout
kleptog@svana.org
In reply to: Lars (#1)
Re: deadlock using sequences?

On Sat, Oct 05, 2002 at 02:31:43AM -0700, Lars wrote:

(Accidently posted to pgadmin-support.)

Hi,

I get occasional deadlocks when using sequences from
multiple clients.

Here's the table DDL:

create sequence ids;
create table foo( id integer default nextval('ids'),
parent integer, type char(4), name text, value text )
without oids;
create index xml_id on xml(id);

I'm inserting 1000s of tuples from 4-5 different
clients (all use JDBC but are single threaded).
About once every 1000 tuples I get

ERROR: deadlock detected

I can't use OIDS because I have to guarantee
monotonically increasing ids.

Whatever it is, it's not the sequences causing this. Do you have any foreign
keys?

--
Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/

Show quoted text

There are 10 kinds of people in the world, those that can do binary
arithmetic and those that can't.