Extensions
- pg_rand_ext 1.0.1
- Functions that generate random values for PostgreSQL
README
pg_rand_ext
This module makes the function for generating random values in pgbench available as a user-defined function.
It implements random number generation functions according to each of the exponential, gaussian, and zipfian distributions available in pgbench.
How to build
The common way to build extension modules in PostgreSQL.
It has been tested with PostgreSQL v14 and above.
<Go to pg_rand_ext dir>
$ make USE_PGXS=1 install
How to use
When you execute CREATE EXTENSION, the rand_ext schema is created and the functions are registered in it. ``` $ psql -c "CREATE EXTENSION pg_rand_ext" $ psql -c "SELECT rand_ext.random_exponential(1,1000,0.3)"
random_exponential
54
(1 row) ```
Functions
| Function | Args | Return | Desc | | ------------- | ------------- | ------------- | ------------- | | random_exponential | lb bigint, ub bigint, param dp | bigint | Return a random value between lb and ub with param of the exponential distribution | | random_gaussian | lb bigint, ub bigint, param dp | bigint | Return a random value between lb and ub with param of the gaussian distribution | | random_zipfian | lb bigint, ub bigint, param dp | bigint | Return a random value between lb and ub with param of the zipfian distribution |
It works the same as the built-in function of pgbench. Please see more detail: https://www.postgresql.org/docs/current/pgbench.html#PGBENCH-FUNCTIONS