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