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

From Dann Corbit
Subject Re: Random not so random
Date
Msg-id D425483C2C5C9F49B5B7A41F89441547055523@postal.corporate.connx.com
Whole thread Raw
In response to Random not so random  ("Arnau Rebassa" <arebassa@hotmail.com>)
List pgsql-general
A better way would be to seed a Mersenne Twister PRNG at server startup
time and then use the same generator for all subsequent calls.
http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html

The period is exceptionally long, and it has many excellent properties.

> -----Original Message-----
> From: pgsql-general-owner@postgresql.org
> [mailto:pgsql-general-owner@postgresql.org] On Behalf Of D. Stimits
> Sent: Monday, October 04, 2004 7:23 AM
> Cc: pgsql-general@postgresql.org
> Subject: Re: [GENERAL] Random not so random
>
>
> 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
>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 8: explain analyze is your friend
>

pgsql-general by date:

Previous
From: "Johann Robette"
Date:
Subject: Postgres 8.0 + JDBC
Next
From: Tom Lane
Date:
Subject: Re: Set locale per query?