How Abs() Works in PostgreSQL

In PostgreSQL, the abs() function returns the absolute value of its argument.

The absolute value means how far the number is away from zero. Therefore, the absolute value of 7 is 7, and the absolute value of -7 is also 7.

Therefore, any negative values passed to abs() are returned as positive values. Positive values and zero are returned unchanged.

Continue reading

How Setseed() Works in PostgreSQL

In PostgreSQL, the setseed() function sets the seed for subsequent random() and random_normal() calls (value between -1.0 and 1.0, inclusive).

The random() function generates a pseudo-random number using a simple linear congruential algorithm. The random_normal() function generates a normally-distributed random number.

If setseed() is called, the results of subsequent random() and random_normal() calls in the current session are repeatable by re-issuing setseed() with the same argument.

Continue reading

How Random() Works in PostgreSQL

In PostgreSQL, the random() function returns a pseudo-random value in the range 0.0 <= x < 1.0.

It uses a simple linear congruential algorithm, which is one of the oldest and best-known pseudo-random number generator algorithms.

A pseudo-random number is a number that appears to be random, but is not truely random. A pseudo-random number is not truely random because its value was generated by a known seed. However, it will appear to be random if the user has no knowledge of the seed or algorithm that created it.

Therefore, pseudo-random numbers are often considered good enough for many applications.

Continue reading