diff --git a/README.md b/README.md index 6b5eb6b..8b24759 100644 --- a/README.md +++ b/README.md @@ -169,6 +169,7 @@ _322 TILs and counting..._ - [Restarting Sequences When Truncating Tables](postgres/restarting-sequences-when-truncating-tables.md) - [Send A Command To psql](postgres/send-a-command-to-psql.md) - [Set Inclusion With hstore](postgres/set-inclusion-with-hstore.md) +- [Set Seed For Random Number Generator](postgres/set-seed-for-random-number-generator.md) - [Sleeping](postgres/sleeping.md) - [Special Math Operators](postgres/special-math-operators.md) - [String Contains Another String](postgres/string-contains-another-string.md) diff --git a/postgres/set-seed-for-random-number-generator.md b/postgres/set-seed-for-random-number-generator.md new file mode 100644 index 0000000..69b47b3 --- /dev/null +++ b/postgres/set-seed-for-random-number-generator.md @@ -0,0 +1,42 @@ +# Set Seed For Random Number Generator + +In PostgreSQL, the internal seed for the random number generator is a +run-time configuration parameter. This `seed` parameter can be set to a +particular seed in order to get some determinism from functions that utilize +the random number generator. The seed needs to be something between `0` and +`1`. + +```sql +> set seed to 0.1234; +SET + +> select random(); + random +------------------- + 0.397731185890734 + +> select random(); + random +------------------ + 0.39575699577108 +(1 row) + +> set seed to 0.1234; +SET + +> select random(); + random +------------------- + 0.397731185890734 + +> select random(); + random +------------------ + 0.39575699577108 +``` + +The seed can also be configured with the `setseed()` function. + +See [the PostgreSQL +docs](http://www.postgresql.org/docs/8.3/static/sql-set.html) for more +details.