In response to Scott Ribe <scott_ribe@xxxxxxxxxxxxxxxx>: > On Jan 6, 2011, at 1:52 AM, Stuart Bishop wrote: > > > If you are looking at these extreme > > improbabilities, your SERIAL isn't guaranteed unique either when you > > take into account cosmic rays flipping the right bits in your ECC > > memory or on your disk platter. > > Yes, that's rather the point, the probability is so extremely low that it in most cases it should be treated as 0. Some people seem to have a problem wrapping their heads around relative magnitudes that extreme. My head is totally wrapped around probability -- yours is not. It's amazing the number of people on this list who are confused by a bunch of x in y #s being thrown around. If the chance of a duplicate is 1 in a hundred gazillion, then I can still hit a dupe the VERY FIRST TIME I USE IT. I'm writing software that is intended to be used to save lives in the event of an earthquake or flood or cosmic ray flipping bits or any other massive disaster. The last thing I need while a bunch of EMTs are digging bodies out of the rubble trying to save their lives is to need to resolve a key conflict with a bunch of mobile devices, most of which are not reachable because the cell network is down because of the disaster. There's going to be enough other shit going wrong ... my software is supposed to be part of the solution. I don't give a fuck how small the chance of conflict is, the only viable option for that chance is 0. Period. Any argument to the contrary is stupid, asinine and outright negligent. Now, if I were writing facebook or twitter or some other pointless entertainment app, the odd chance of losing a post or whatever to a key conflict is not something I'm going to worry about for more than the time it takes to yawn. And that's been my point all along, despite people trying to dilute it with nonsense numbers that they don't understand: UUIDs are sufficiently unique for 99.99999999999% of the applications out there. However, you should always take 5 or 10 minutes to consider whether your application is one of the .00000000001% that can't tolerate the tiny risk. And also, if your entire solution to that risk is to rollback the transaction in the event of a conflict, then your application is simple enough that UUIDs are overkill anyway. Use them anyway if you want. As far as statistics are concerned, the chance that someone as batfuck insane as Hitler would rise to power in a major country is 1 in 1,102,196,287,287,859,992,396,273,293,203 -- yet it happened. There. I Godwined the damn thing. -- Bill Moran http://www.potentialtech.com http://people.collaborativefusion.com/~wmoran/ -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general