pg.ddx.io  pgsql-bugs@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
Cc: byavuz81@gmail.com
Cc: pgsql-bugs@lists.postgresql.org
Subject: Re: BUG #17358: While using --with-uuid=bsd option, uuid_ossp test fails on NetBSD 9.2
Date: Sat, 08 Jan 2022 19:38:41 -0500
Message-ID: <1605935.1641688721@sss.pgh.pa.us> (raw)
In-Reply-To: <1588971.1641677131@sss.pgh.pa.us>
References: <17358-89806e7420797025@postgresql.org>
	<1377833.1641588532@sss.pgh.pa.us>
	<20220108194454.kl477tb6km6tyj5r@alap3.anarazel.de>
	<1581508.1641671996@sss.pgh.pa.us>
	<20220108200643.2ufdoxj5gdfvrrdg@alap3.anarazel.de>
	<1584605.1641674133@sss.pgh.pa.us>
	<20220108204528.f7viwyuxamdm2n34@alap3.anarazel.de>
	<1588971.1641677131@sss.pgh.pa.us>

I wrote:
> Well, maybe.  Just considering having our own generator already puts us
> in a state of sin, because the whole argument for v1 UUID uniqueness
> hinges on there being just one generator per machine (or per MAC
> address, anyway).  As soon as there are independent generators using
> the same MAC address, they can't positively guarantee uniqueness.
> My thought about it is that once you've crossed that boundary, allowing
> each process to generate UUIDs independently is not much of a leap.

After a bit of further thought, it seems like a reasonable compromise
could be to move the code into core PG and maintain the UUID assignment
state in shared memory.  We'd still set the clock sequence number to
something random at shmem initialization, but thereafter all backends
would draw from that shared state, allowing us to provide a guarantee
of uniqueness across the PG instance rather than just per-process.

(I don't see any value in trying to preserve the clock sequence number
across restarts.  A restart should take long enough that the timestamp
will advance, making it moot.  The main value of the clock sequence number
is to make it less likely that we'll generate the same UUID as some other
generator running on the same machine, so a random choice seems optimal.)

			regards, tom lane





view thread (13+ messages)  latest in thread

Message-ID: <1605935.1641688721@sss.pgh.pa.us>
Permalink:  ../1605935.1641688721@sss.pgh.pa.us/
Also on:    postgresql.org/message-id/1605935.1641688721@sss.pgh.pa.us

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-bugs@postgresql.org
  Cc: tgl@sss.pgh.pa.us, andres@anarazel.de, byavuz81@gmail.com, pgsql-bugs@lists.postgresql.org
  Subject: Re: BUG #17358: While using --with-uuid=bsd option, uuid_ossp test fails on NetBSD 9.2
  In-Reply-To: <1605935.1641688721@sss.pgh.pa.us>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox