Re: Random not so random - Mailing list pgsql-general

From D. Stimits
Subject Re: Random not so random
Date
Msg-id 41615CAD.90009@comcast.net
Whole thread Raw
In response to Re: Random not so random  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Random not so random
List pgsql-general
Tom Lane wrote:
> "Arnau Rebassa" <arebassa@hotmail.com> writes:
>
>>  I'm using a debian linux as OS with a 2.4 kernel running on it.
>
>
>>>Incidentally, are you reconnecting every time or is it that multiple calls
>>>in a single session are returning the same record?
>
>
>>  I'm reconnecting each time I want to retrieve a message.
>
>
> Hmm.  postmaster.c does this during startup of each backend process:
>
>     gettimeofday(&now, &tz);
>     srandom((unsigned int) now.tv_usec);

If it uses the same seed from the connection, then all randoms within a
connect that has not reconnected will use the same seed. Which means the
same sequence will be generated each time, which is why it is
pseudo-random and not random. For it to be random not just the first
call of a new connection, but among all calls of new connection, it
would have to seed it based on time at the moment of query and not at
the moment of connect. A pseudo-random generator using the same seed
will generate the same sequence.

D. Stimits, stimits AT comcast DOT net


pgsql-general by date:

Previous
From: Ron St-Pierre
Date:
Subject: Re: PostgreSQL 8.0 install woes
Next
From: "Jimmie H. Apsey"
Date:
Subject: Re: LOST REFERENTIAL INTEGRITY