| From: | Ralph van Etten <ralph(at)et10(dot)org> |
|---|---|
| To: | pgsql-general(at)postgresql(dot)org |
| Subject: | serialization errors when inserting new records |
| Date: | 2005-01-22 10:14:20 |
| Message-ID: | Pine.LNX.4.44.0501221059550.2241-100000@exp-toy.et10.loc |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general |
Hoi,
I searched the archives but couldn't find an answer to this:
I have a table (simplyfied)
CREATE TABLE test (
id INT PRIMARY KEY,
name VARCHAR(250)
);
I insert records with
INSERT INTO test (id, name)
SELECT COALESCE(MAX(id)+1, 1), 'name' FROM test
Ofcourse this gives problems when two clients are inserting a record at
the same time. (duplicate primary keys) But, i can't use a sequence in my
application (the pk consists of more than just a sequence)
one solution would be to do a 'LOCK TABLE test IN SHARE MODE' before
inserting. This solves my problem but i'm not sure if its the
best way to deal with this kind of concurrency problems ? Is there a
better way ?
Thanks in advance.
Ralph.
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tino Wildenhain | 2005-01-22 11:46:39 | Re: serialization errors when inserting new records |
| Previous Message | Michael Fuhr | 2005-01-22 06:11:02 | Re: plpythonu on 7.4 |