| From: | Richard Huxton <dev(at)archonet(dot)com> |
|---|---|
| To: | Csaba Nagy <nagy(at)ecircle-ag(dot)com> |
| Cc: | "ON(dot)KG" <skyer(at)on(dot)kg>, Postgres general mailing list <pgsql-general(at)postgresql(dot)org> |
| Subject: | Re: duplicate key violates unique constraint |
| Date: | 2005-06-13 15:49:15 |
| Message-ID: | 42ADAAFB.30404@archonet.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-general pgsql-sql |
Csaba Nagy wrote:
> [snip]
>
>>If you have more than one client, this can always happen. You have two
>>choices:
>> 1. Use a lock to stop two clients interacting like this
>
>
> This won't work unless you make all the clients serialized, or you have
> all the ip's already inserted in the data base... you can't lock on an
> unknown key, otherwise the locking will also need to insert, and you're
> back to the same race condition ;-)
You can, however, have something more finely-grained than whole-table
locking (assuming one IP updated/inserted at a time) by filling a dummy
table with e.g. integers 0..255 and locking a row there based on (e.g.)
the last octet of your target IP.
--
Richard Huxton
Archonet Ltd
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Csaba Nagy | 2005-06-13 15:58:52 | Re: duplicate key violates unique constraint |
| Previous Message | Chris Browne | 2005-06-13 15:42:55 | Re: PostgreSQL Certification |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Csaba Nagy | 2005-06-13 15:58:52 | Re: duplicate key violates unique constraint |
| Previous Message | Csaba Nagy | 2005-06-13 15:22:02 | Re: duplicate key violates unique constraint |