Home Explore Blog CI



postgresql

26th chunk of `doc/src/sgml/ref/pgbench.sgml`
31113ef94439fee533fed04949e5d653d514e07cb14c22310000000100000fa2
 <entry role="func_table_entry"><para role="func_signature">
        <function>pi</function> ()
        <returnvalue>double</returnvalue>
       </para>
       <para>
        Approximate value of <phrase role="symbol_font">&pi;</phrase>
       </para>
       <para>
        <literal>pi()</literal>
        <returnvalue>3.14159265358979323846</returnvalue>
       </para></entry>
      </row>

      <row>
       <entry role="func_table_entry"><para role="func_signature">
        <function>pow</function> ( <parameter>x</parameter>, <parameter>y</parameter> )
        <returnvalue>double</returnvalue>
       </para>
       <para role="func_signature">
        <function>power</function> ( <parameter>x</parameter>, <parameter>y</parameter> )
        <returnvalue>double</returnvalue>
       </para>
       <para>
        <parameter>x</parameter> raised to the power of <parameter>y</parameter>
       </para>
       <para>
        <literal>pow(2.0, 10)</literal>
        <returnvalue>1024.0</returnvalue>
       </para></entry>
      </row>

      <row>
       <entry role="func_table_entry"><para role="func_signature">
        <function>random</function> ( <parameter>lb</parameter>, <parameter>ub</parameter> )
        <returnvalue>integer</returnvalue>
       </para>
       <para>
        Computes a uniformly-distributed random integer in <literal>[lb,
        ub]</literal>.
       </para>
       <para>
        <literal>random(1, 10)</literal>
        <returnvalue>an integer between 1 and 10</returnvalue>
       </para></entry>
      </row>

      <row>
       <entry role="func_table_entry"><para role="func_signature">
        <function>random_exponential</function> ( <parameter>lb</parameter>, <parameter>ub</parameter>, <parameter>parameter</parameter> )
        <returnvalue>integer</returnvalue>
       </para>
       <para>
        Computes an exponentially-distributed random integer in <literal>[lb,
        ub]</literal>, see below.
       </para>
       <para>
        <literal>random_exponential(1, 10, 3.0)</literal>
        <returnvalue>an integer between 1 and 10</returnvalue>
       </para></entry>
      </row>

      <row>
       <entry role="func_table_entry"><para role="func_signature">
        <function>random_gaussian</function> ( <parameter>lb</parameter>, <parameter>ub</parameter>, <parameter>parameter</parameter> )
        <returnvalue>integer</returnvalue>
       </para>
       <para>
        Computes a Gaussian-distributed random integer in <literal>[lb,
        ub]</literal>, see below.
       </para>
       <para>
        <literal>random_gaussian(1, 10, 2.5)</literal>
        <returnvalue>an integer between 1 and 10</returnvalue>
       </para></entry>
      </row>

      <row>
       <entry role="func_table_entry"><para role="func_signature">
        <function>random_zipfian</function> ( <parameter>lb</parameter>, <parameter>ub</parameter>, <parameter>parameter</parameter> )
        <returnvalue>integer</returnvalue>
       </para>
       <para>
        Computes a Zipfian-distributed random integer in <literal>[lb,
        ub]</literal>, see below.
       </para>
       <para>
        <literal>random_zipfian(1, 10, 1.5)</literal>
        <returnvalue>an integer between 1 and 10</returnvalue>
       </para></entry>
      </row>

      <row>
       <entry role="func_table_entry"><para role="func_signature">
        <function>sqrt</function> ( <replaceable>number</replaceable> )
        <returnvalue>double</returnvalue>
       </para>
       <para>
        Square root
       </para>
       <para>
        <literal>sqrt(2.0)</literal>
        <returnvalue>1.414213562</returnvalue>
       </para></entry>
      </row>
     </tbody>
    </tgroup>
   </table>

   <para>
    The <literal>random</literal> function generates values using a uniform
    distribution, that is all the values are drawn within the specified
    range with equal probability. The <literal>random_exponential</literal>,
    <literal>random_gaussian</literal> and

Title: pgbench Built-In Functions (Part 3): Pi, Power, Random Number Generation, and Square Root
Summary
This section describes more built-in functions in pgbench, focusing on mathematical functions and random number generation. It covers `pi()` for the approximate value of pi, `pow()`/`power()` for exponentiation, `random()` for uniformly-distributed random integers, `random_exponential()`, `random_gaussian()`, and `random_zipfian()` for exponentially, Gaussian, and Zipfian-distributed random integers respectively, and `sqrt()` for calculating the square root.