boundary cases can therefore vary depending on the host system.
</para>
- <indexterm>
- <primary>abs</primary>
- </indexterm>
- <indexterm>
- <primary>cbrt</primary>
- </indexterm>
- <indexterm>
- <primary>ceiling</primary>
- </indexterm>
- <indexterm>
- <primary>degrees</primary>
- </indexterm>
- <indexterm>
- <primary>div</primary>
- </indexterm>
- <indexterm>
- <primary>exp</primary>
- </indexterm>
- <indexterm>
- <primary>floor</primary>
- </indexterm>
- <indexterm>
- <primary>ln</primary>
- </indexterm>
- <indexterm>
- <primary>log</primary>
- </indexterm>
- <indexterm>
- <primary>mod</primary>
- </indexterm>
- <indexterm>
- <primary>pi</primary>
- </indexterm>
- <indexterm>
- <primary>power</primary>
- </indexterm>
- <indexterm>
- <primary>radians</primary>
- </indexterm>
- <indexterm>
- <primary>random</primary>
- </indexterm>
- <indexterm>
- <primary>round</primary>
- </indexterm>
- <indexterm>
- <primary>setseed</primary>
- </indexterm>
- <indexterm>
- <primary>sign</primary>
- </indexterm>
- <indexterm>
- <primary>sqrt</primary>
- </indexterm>
- <indexterm>
- <primary>trunc</primary>
- </indexterm>
- <indexterm>
- <primary>width_bucket</primary>
- </indexterm>
-
<table id="functions-math-func-table">
<title>Mathematical Functions</title>
<tgroup cols="5">
<tbody>
<row>
- <entry><literal><function>abs(<replaceable>x</replaceable>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>abs</primary>
+ </indexterm>
+ <literal><function>abs(<replaceable>x</replaceable>)</function></literal>
+ </entry>
<entry>(same as input)</entry>
<entry>absolute value</entry>
<entry><literal>abs(-17.4)</literal></entry>
</row>
<row>
- <entry><literal><function>cbrt(<type>dp</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>cbrt</primary>
+ </indexterm>
+ <literal><function>cbrt(<type>dp</type>)</function></literal>
+ </entry>
<entry><type>dp</type></entry>
<entry>cube root</entry>
<entry><literal>cbrt(27.0)</literal></entry>
</row>
<row>
- <entry><literal><function>ceil(<type>dp</type> or <type>numeric</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>ceil</primary>
+ </indexterm>
+ <literal><function>ceil(<type>dp</type> or <type>numeric</type>)</function></literal>
+ </entry>
<entry>(same as input)</entry>
<entry>smallest integer not less than argument</entry>
<entry><literal>ceil(-42.8)</literal></entry>
</row>
<row>
- <entry><literal><function>ceiling(<type>dp</type> or <type>numeric</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>ceiling</primary>
+ </indexterm>
+ <literal><function>ceiling(<type>dp</type> or <type>numeric</type>)</function></literal>
+ </entry>
<entry>(same as input)</entry>
<entry>smallest integer not less than argument (alias for <function>ceil</function>)</entry>
<entry><literal>ceiling(-95.3)</literal></entry>
</row>
<row>
- <entry><literal><function>degrees(<type>dp</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>degrees</primary>
+ </indexterm>
+ <literal><function>degrees(<type>dp</type>)</function></literal>
+ </entry>
<entry><type>dp</type></entry>
<entry>radians to degrees</entry>
<entry><literal>degrees(0.5)</literal></entry>
</row>
<row>
- <entry><literal><function>div(<parameter>y</parameter> <type>numeric</>,
- <parameter>x</parameter> <type>numeric</>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>div</primary>
+ </indexterm>
+ <literal><function>div(<parameter>y</parameter> <type>numeric</>,
+ <parameter>x</parameter> <type>numeric</>)</function></literal>
+ </entry>
<entry><type>numeric</></entry>
<entry>integer quotient of <parameter>y</parameter>/<parameter>x</parameter></entry>
<entry><literal>div(9,4)</literal></entry>
</row>
<row>
- <entry><literal><function>exp(<type>dp</type> or <type>numeric</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>exp</primary>
+ </indexterm>
+ <literal><function>exp(<type>dp</type> or <type>numeric</type>)</function></literal>
+ </entry>
<entry>(same as input)</entry>
<entry>exponential</entry>
<entry><literal>exp(1.0)</literal></entry>
</row>
<row>
- <entry><literal><function>floor(<type>dp</type> or <type>numeric</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>floor</primary>
+ </indexterm>
+ <literal><function>floor(<type>dp</type> or <type>numeric</type>)</function></literal>
+ </entry>
<entry>(same as input)</entry>
<entry>largest integer not greater than argument</entry>
<entry><literal>floor(-42.8)</literal></entry>
</row>
<row>
- <entry><literal><function>ln(<type>dp</type> or <type>numeric</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>ln</primary>
+ </indexterm>
+ <literal><function>ln(<type>dp</type> or <type>numeric</type>)</function></literal>
+ </entry>
<entry>(same as input)</entry>
<entry>natural logarithm</entry>
<entry><literal>ln(2.0)</literal></entry>
</row>
<row>
- <entry><literal><function>log(<type>dp</type> or <type>numeric</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>log</primary>
+ </indexterm>
+ <literal><function>log(<type>dp</type> or <type>numeric</type>)</function></literal>
+ </entry>
<entry>(same as input)</entry>
<entry>base 10 logarithm</entry>
<entry><literal>log(100.0)</literal></entry>
</row>
<row>
- <entry><literal><function>mod(<parameter>y</parameter>,
- <parameter>x</parameter>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>mod</primary>
+ </indexterm>
+ <literal><function>mod(<parameter>y</parameter>,
+ <parameter>x</parameter>)</function></literal>
+ </entry>
<entry>(same as argument types)</entry>
<entry>remainder of <parameter>y</parameter>/<parameter>x</parameter></entry>
<entry><literal>mod(9,4)</literal></entry>
</row>
<row>
- <entry><literal><function>pi()</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>pi</primary>
+ </indexterm>
+ <literal><function>pi()</function></literal>
+ </entry>
<entry><type>dp</type></entry>
<entry><quote>π</quote> constant</entry>
<entry><literal>pi()</literal></entry>
</row>
<row>
- <entry><literal><function>power(<parameter>a</parameter> <type>dp</type>,
- <parameter>b</parameter> <type>dp</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>power</primary>
+ </indexterm>
+ <literal><function>power(<parameter>a</parameter> <type>dp</type>,
+ <parameter>b</parameter> <type>dp</type>)</function></literal>
+ </entry>
<entry><type>dp</type></entry>
<entry><parameter>a</> raised to the power of <parameter>b</parameter></entry>
<entry><literal>power(9.0, 3.0)</literal></entry>
</row>
<row>
- <entry><literal><function>radians(<type>dp</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>radians</primary>
+ </indexterm>
+ <literal><function>radians(<type>dp</type>)</function></literal>
+ </entry>
<entry><type>dp</type></entry>
<entry>degrees to radians</entry>
<entry><literal>radians(45.0)</literal></entry>
</row>
<row>
- <entry><literal><function>random()</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>random</primary>
+ </indexterm>
+ <literal><function>random()</function></literal>
+ </entry>
<entry><type>dp</type></entry>
<entry>random value in the range 0.0 <= x < 1.0</entry>
<entry><literal>random()</literal></entry>
</row>
<row>
- <entry><literal><function>round(<type>dp</type> or <type>numeric</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>round</primary>
+ </indexterm>
+ <literal><function>round(<type>dp</type> or <type>numeric</type>)</function></literal>
+ </entry>
<entry>(same as input)</entry>
<entry>round to nearest integer</entry>
<entry><literal>round(42.4)</literal></entry>
</row>
<row>
- <entry><literal><function>setseed(<type>dp</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>setseed</primary>
+ </indexterm>
+ <literal><function>setseed(<type>dp</type>)</function></literal>
+ </entry>
<entry><type>void</type></entry>
<entry>set seed for subsequent <literal>random()</literal> calls (value between -1.0 and
1.0, inclusive)</entry>
</row>
<row>
- <entry><literal><function>sign(<type>dp</type> or <type>numeric</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>sign</primary>
+ </indexterm>
+ <literal><function>sign(<type>dp</type> or <type>numeric</type>)</function></literal>
+ </entry>
<entry>(same as input)</entry>
<entry>sign of the argument (-1, 0, +1)</entry>
<entry><literal>sign(-8.4)</literal></entry>
</row>
<row>
- <entry><literal><function>sqrt(<type>dp</type> or <type>numeric</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>sqrt</primary>
+ </indexterm>
+ <literal><function>sqrt(<type>dp</type> or <type>numeric</type>)</function></literal>
+ </entry>
<entry>(same as input)</entry>
<entry>square root</entry>
<entry><literal>sqrt(2.0)</literal></entry>
</row>
<row>
- <entry><literal><function>trunc(<type>dp</type> or <type>numeric</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>trunc</primary>
+ </indexterm>
+ <literal><function>trunc(<type>dp</type> or <type>numeric</type>)</function></literal>
+ </entry>
<entry>(same as input)</entry>
<entry>truncate toward zero</entry>
<entry><literal>trunc(42.8)</literal></entry>
</row>
<row>
- <entry><literal><function>width_bucket(<parameter>op</parameter> <type>numeric</type>, <parameter>b1</parameter> <type>numeric</type>, <parameter>b2</parameter> <type>numeric</type>, <parameter>count</parameter> <type>int</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>width_bucket</primary>
+ </indexterm>
+ <literal><function>width_bucket(<parameter>op</parameter> <type>numeric</type>, <parameter>b1</parameter> <type>numeric</type>, <parameter>b2</parameter> <type>numeric</type>, <parameter>count</parameter> <type>int</type>)</function></literal>
+ </entry>
<entry><type>int</type></entry>
<entry>return the bucket to which <parameter>operand</> would
be assigned in an equidepth histogram with <parameter>count</>
<literal><function>degrees()</function></literal> above.
</para>
- <indexterm>
- <primary>acos</primary>
- </indexterm>
- <indexterm>
- <primary>asin</primary>
- </indexterm>
- <indexterm>
- <primary>atan</primary>
- </indexterm>
- <indexterm>
- <primary>atan2</primary>
- </indexterm>
- <indexterm>
- <primary>cos</primary>
- </indexterm>
- <indexterm>
- <primary>cot</primary>
- </indexterm>
- <indexterm>
- <primary>sin</primary>
- </indexterm>
- <indexterm>
- <primary>tan</primary>
- </indexterm>
-
<table id="functions-math-trig-table">
<title>Trigonometric Functions</title>
<tbody>
<row>
- <entry><literal><function>acos(<replaceable>x</replaceable>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>acos</primary>
+ </indexterm><literal><function>acos(<replaceable>x</replaceable>)</function></literal>
+ </entry>
<entry>inverse cosine</entry>
</row>
<row>
- <entry><literal><function>asin(<replaceable>x</replaceable>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>asin</primary>
+ </indexterm>
+ <literal><function>asin(<replaceable>x</replaceable>)</function></literal>
+ </entry>
<entry>inverse sine</entry>
</row>
<row>
- <entry><literal><function>atan(<replaceable>x</replaceable>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>atan</primary>
+ </indexterm>
+ <literal><function>atan(<replaceable>x</replaceable>)</function></literal>
+ </entry>
<entry>inverse tangent</entry>
</row>
<row>
- <entry><literal><function>atan2(<replaceable>y</replaceable>,
- <replaceable>x</replaceable>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>atan2</primary>
+ </indexterm>
+ <literal><function>atan2(<replaceable>y</replaceable>,
+ <replaceable>x</replaceable>)</function></literal>
+ </entry>
<entry>inverse tangent of
<literal><replaceable>y</replaceable>/<replaceable>x</replaceable></literal></entry>
</row>
<row>
- <entry><literal><function>cos(<replaceable>x</replaceable>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>cos</primary>
+ </indexterm>
+ <literal><function>cos(<replaceable>x</replaceable>)</function></literal>
+ </entry>
<entry>cosine</entry>
</row>
<row>
- <entry><literal><function>cot(<replaceable>x</replaceable>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>cot</primary>
+ </indexterm>
+ <literal><function>cot(<replaceable>x</replaceable>)</function></literal>
+ </entry>
<entry>cotangent</entry>
</row>
<row>
- <entry><literal><function>sin(<replaceable>x</replaceable>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>sin</primary>
+ </indexterm>
+ <literal><function>sin(<replaceable>x</replaceable>)</function></literal>
+ </entry>
<entry>sine</entry>
</row>
<row>
- <entry><literal><function>tan(<replaceable>x</replaceable>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>tan</primary>
+ </indexterm>
+ <literal><function>tan(<replaceable>x</replaceable>)</function></literal>
+ </entry>
<entry>tangent</entry>
</row>
</tbody>
</para>
</note>
- <indexterm>
- <primary>bit_length</primary>
- </indexterm>
- <indexterm>
- <primary>char_length</primary>
- </indexterm>
- <indexterm>
- <primary>lower</primary>
- </indexterm>
- <indexterm>
- <primary>octet_length</primary>
- </indexterm>
- <indexterm>
- <primary>overlay</primary>
- </indexterm>
- <indexterm>
- <primary>position</primary>
- </indexterm>
- <indexterm>
- <primary>substring</primary>
- </indexterm>
- <indexterm>
- <primary>trim</primary>
- </indexterm>
- <indexterm>
- <primary>upper</primary>
- </indexterm>
-
<table id="functions-string-sql">
<title><acronym>SQL</acronym> String Functions and Operators</title>
<tgroup cols="5">
</row>
<row>
- <entry><literal><function>bit_length(<parameter>string</parameter>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>bit_length</primary>
+ </indexterm>
+ <literal><function>bit_length(<parameter>string</parameter>)</function></literal>
+ </entry>
<entry><type>int</type></entry>
<entry>Number of bits in string</entry>
<entry><literal>bit_length('jose')</literal></entry>
</row>
<row>
- <entry><literal><function>char_length(<parameter>string</parameter>)</function></literal> or <literal><function>character_length(<parameter>string</parameter>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>char_length</primary>
+ </indexterm>
+ <literal><function>char_length(<parameter>string</parameter>)</function></literal> or <literal><function>character_length(<parameter>string</parameter>)</function></literal>
+ </entry>
<entry><type>int</type></entry>
<entry>
Number of characters in string
</row>
<row>
- <entry><literal><function>lower(<parameter>string</parameter>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>lower</primary>
+ </indexterm>
+ <literal><function>lower(<parameter>string</parameter>)</function></literal>
+ </entry>
<entry><type>text</type></entry>
<entry>Convert string to lower case</entry>
<entry><literal>lower('TOM')</literal></entry>
</row>
<row>
- <entry><literal><function>octet_length(<parameter>string</parameter>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>octet_length</primary>
+ </indexterm>
+ <literal><function>octet_length(<parameter>string</parameter>)</function></literal>
+ </entry>
<entry><type>int</type></entry>
<entry>Number of bytes in string</entry>
<entry><literal>octet_length('jose')</literal></entry>
</row>
<row>
- <entry><literal><function>overlay(<parameter>string</parameter> placing <parameter>string</parameter> from <type>int</type> <optional>for <type>int</type></optional>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>overlay</primary>
+ </indexterm>
+ <literal><function>overlay(<parameter>string</parameter> placing <parameter>string</parameter> from <type>int</type> <optional>for <type>int</type></optional>)</function></literal>
+ </entry>
<entry><type>text</type></entry>
<entry>
Replace substring
</row>
<row>
- <entry><literal><function>position(<parameter>substring</parameter> in <parameter>string</parameter>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>position</primary>
+ </indexterm>
+ <literal><function>position(<parameter>substring</parameter> in <parameter>string</parameter>)</function></literal>
+ </entry>
<entry><type>int</type></entry>
<entry>Location of specified substring</entry>
<entry><literal>position('om' in 'Thomas')</literal></entry>
</row>
<row>
- <entry><literal><function>substring(<parameter>string</parameter> <optional>from <type>int</type></optional> <optional>for <type>int</type></optional>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>substring</primary>
+ </indexterm>
+ <literal><function>substring(<parameter>string</parameter> <optional>from <type>int</type></optional> <optional>for <type>int</type></optional>)</function></literal>
+ </entry>
<entry><type>text</type></entry>
<entry>
Extract substring
<row>
<entry>
+ <indexterm>
+ <primary>trim</primary>
+ </indexterm>
<literal><function>trim(<optional>leading | trailing | both</optional>
<optional><parameter>characters</parameter></optional> from
<parameter>string</parameter>)</function></literal>
</row>
<row>
- <entry><literal><function>upper(<parameter>string</parameter>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>upper</primary>
+ </indexterm>
+ <literal><function>upper(<parameter>string</parameter>)</function></literal>
+ </entry>
<entry><type>text</type></entry>
<entry>Convert string to upper case</entry>
<entry><literal>upper('tom')</literal></entry>
<acronym>SQL</acronym>-standard string functions listed in <xref linkend="functions-string-sql">.
</para>
- <indexterm>
- <primary>ascii</primary>
- </indexterm>
- <indexterm>
- <primary>btrim</primary>
- </indexterm>
- <indexterm>
- <primary>chr</primary>
- </indexterm>
- <indexterm>
- <primary>concat</primary>
- </indexterm>
- <indexterm>
- <primary>concat_ws</primary>
- </indexterm>
- <indexterm>
- <primary>convert</primary>
- </indexterm>
- <indexterm>
- <primary>convert_from</primary>
- </indexterm>
- <indexterm>
- <primary>convert_to</primary>
- </indexterm>
- <indexterm>
- <primary>decode</primary>
- </indexterm>
- <indexterm>
- <primary>encode</primary>
- </indexterm>
- <indexterm>
- <primary>format</primary>
- </indexterm>
- <indexterm>
- <primary>initcap</primary>
- </indexterm>
- <indexterm>
- <primary>left</primary>
- </indexterm>
- <indexterm>
- <primary>lpad</primary>
- </indexterm>
- <indexterm>
- <primary>ltrim</primary>
- </indexterm>
- <indexterm>
- <primary>md5</primary>
- </indexterm>
- <indexterm>
- <primary>pg_client_encoding</primary>
- </indexterm>
- <indexterm>
- <primary>quote_ident</primary>
- </indexterm>
- <indexterm>
- <primary>quote_literal</primary>
- </indexterm>
- <indexterm>
- <primary>quote_nullable</primary>
- </indexterm>
- <indexterm>
- <primary>repeat</primary>
- </indexterm>
- <indexterm>
- <primary>replace</primary>
- </indexterm>
- <indexterm>
- <primary>reverse</primary>
- </indexterm>
- <indexterm>
- <primary>right</primary>
- </indexterm>
- <indexterm>
- <primary>rpad</primary>
- </indexterm>
- <indexterm>
- <primary>rtrim</primary>
- </indexterm>
- <indexterm>
- <primary>split_part</primary>
- </indexterm>
- <indexterm>
- <primary>strpos</primary>
- </indexterm>
- <indexterm>
- <primary>substr</primary>
- </indexterm>
- <indexterm>
- <primary>to_ascii</primary>
- </indexterm>
- <indexterm>
- <primary>to_hex</primary>
- </indexterm>
- <indexterm>
- <primary>translate</primary>
- </indexterm>
-
<table id="functions-string-other">
<title>Other String Functions</title>
<tgroup cols="5">
<tbody>
<row>
- <entry><literal><function>ascii(<parameter>string</parameter>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>ascii</primary>
+ </indexterm>
+ <literal><function>ascii(<parameter>string</parameter>)</function></literal>
+ </entry>
<entry><type>int</type></entry>
<entry>
<acronym>ASCII</acronym> code of the first character of the
</row>
<row>
- <entry><literal><function>btrim(<parameter>string</parameter> <type>text</type>
- <optional>, <parameter>characters</parameter> <type>text</type></optional>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>btrim</primary>
+ </indexterm>
+ <literal><function>btrim(<parameter>string</parameter> <type>text</type>
+ <optional>, <parameter>characters</parameter> <type>text</type></optional>)</function></literal>
+ </entry>
<entry><type>text</type></entry>
<entry>
Remove the longest string consisting only of characters
</row>
<row>
- <entry><literal><function>chr(<type>int</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>chr</primary>
+ </indexterm>
+ <literal><function>chr(<type>int</type>)</function></literal>
+ </entry>
<entry><type>text</type></entry>
<entry>
Character with the given code. For <acronym>UTF8</acronym> the
<row>
<entry>
+ <indexterm>
+ <primary>concat</primary>
+ </indexterm>
<literal><function>concat(<parameter>str</parameter> <type>"any"</type>
[, <parameter>str</parameter> <type>"any"</type> [, ...] ])</function></literal>
</entry>
<row>
<entry>
+ <indexterm>
+ <primary>concat_ws</primary>
+ </indexterm>
<literal><function>concat_ws(<parameter>sep</parameter> <type>text</type>,
<parameter>str</parameter> <type>"any"</type>
[, <parameter>str</parameter> <type>"any"</type> [, ...] ])</function></literal>
<row>
<entry>
+ <indexterm>
+ <primary>convert</primary>
+ </indexterm>
<literal><function>convert(<parameter>string</parameter> <type>bytea</type>,
<parameter>src_encoding</parameter> <type>name</type>,
<parameter>dest_encoding</parameter> <type>name</type>)</function></literal>
<row>
<entry>
+ <indexterm>
+ <primary>convert_from</primary>
+ </indexterm>
<literal><function>convert_from(<parameter>string</parameter> <type>bytea</type>,
<parameter>src_encoding</parameter> <type>name</type>)</function></literal>
</entry>
<row>
<entry>
+ <indexterm>
+ <primary>convert_to</primary>
+ </indexterm>
<literal><function>convert_to(<parameter>string</parameter> <type>text</type>,
<parameter>dest_encoding</parameter> <type>name</type>)</function></literal>
</entry>
<row>
<entry>
+ <indexterm>
+ <primary>decode</primary>
+ </indexterm>
<literal><function>decode(<parameter>string</parameter> <type>text</type>,
<parameter>type</parameter> <type>text</type>)</function></literal>
</entry>
<row>
<entry>
+ <indexterm>
+ <primary>encode</primary>
+ </indexterm>
<literal><function>encode(<parameter>data</parameter> <type>bytea</type>,
<parameter>type</parameter> <type>text</type>)</function></literal>
</entry>
<row>
<entry>
+ <indexterm>
+ <primary>format</primary>
+ </indexterm>
<literal><function>format</function>(<parameter>formatstr</parameter> <type>text</type>
[, <parameter>str</parameter> <type>"any"</type> [, ...] ])</literal>
</entry>
</row>
<row>
- <entry><literal><function>initcap(<parameter>string</parameter>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>initcap</primary>
+ </indexterm>
+ <literal><function>initcap(<parameter>string</parameter>)</function></literal>
+ </entry>
<entry><type>text</type></entry>
<entry>
Convert the first letter of each word to upper case and the
<row>
<entry>
+ <indexterm>
+ <primary>left</primary>
+ </indexterm>
<literal><function>left(<parameter>str</parameter> <type>text</type>,
<parameter>n</parameter> <type>int</type>)</function></literal>
</entry>
</row>
<row>
- <entry><literal><function>length(<parameter>string</parameter>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>length</primary>
+ </indexterm>
+ <literal><function>length(<parameter>string</parameter>)</function></literal>
+ </entry>
<entry><type>int</type></entry>
<entry>
Number of characters in <parameter>string</parameter>
<row>
<entry>
+ <indexterm>
+ <primary>lpad</primary>
+ </indexterm>
<literal><function>lpad(<parameter>string</parameter> <type>text</type>,
<parameter>length</parameter> <type>int</type>
<optional>, <parameter>fill</parameter> <type>text</type></optional>)</function></literal>
</row>
<row>
- <entry><literal><function>ltrim(<parameter>string</parameter> <type>text</type>
+ <entry>
+ <indexterm>
+ <primary>ltrim</primary>
+ </indexterm>
+ <literal><function>ltrim(<parameter>string</parameter> <type>text</type>
<optional>, <parameter>characters</parameter> <type>text</type></optional>)</function></literal>
</entry>
<entry><type>text</type></entry>
</row>
<row>
- <entry><literal><function>md5(<parameter>string</parameter>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>md5</primary>
+ </indexterm>
+ <literal><function>md5(<parameter>string</parameter>)</function></literal>
+ </entry>
<entry><type>text</type></entry>
<entry>
Calculates the MD5 hash of <parameter>string</parameter>,
</row>
<row>
- <entry><literal><function>pg_client_encoding()</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>pg_client_encoding</primary>
+ </indexterm>
+ <literal><function>pg_client_encoding()</function></literal>
+ </entry>
<entry><type>name</type></entry>
<entry>
Current client encoding name
</row>
<row>
- <entry><literal><function>quote_ident(<parameter>string</parameter> <type>text</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>quote_ident</primary>
+ </indexterm>
+ <literal><function>quote_ident(<parameter>string</parameter> <type>text</type>)</function></literal>
+ </entry>
<entry><type>text</type></entry>
<entry>
Return the given string suitably quoted to be used as an identifier
</row>
<row>
- <entry><literal><function>quote_literal(<parameter>string</parameter> <type>text</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>quote_literal</primary>
+ </indexterm>
+ <literal><function>quote_literal(<parameter>string</parameter> <type>text</type>)</function></literal>
+ </entry>
<entry><type>text</type></entry>
<entry>
Return the given string suitably quoted to be used as a string literal
</row>
<row>
- <entry><literal><function>quote_nullable(<parameter>string</parameter> <type>text</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>quote_nullable</primary>
+ </indexterm>
+ <literal><function>quote_nullable(<parameter>string</parameter> <type>text</type>)</function></literal>
+ </entry>
<entry><type>text</type></entry>
<entry>
Return the given string suitably quoted to be used as a string literal
</row>
<row>
- <entry><literal><function>regexp_matches(<parameter>string</parameter> <type>text</type>, <parameter>pattern</parameter> <type>text</type> [, <parameter>flags</parameter> <type>text</type>])</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>regexp_matches</primary>
+ </indexterm>
+ <literal><function>regexp_matches(<parameter>string</parameter> <type>text</type>, <parameter>pattern</parameter> <type>text</type> [, <parameter>flags</parameter> <type>text</type>])</function></literal>
+ </entry>
<entry><type>setof text[]</type></entry>
<entry>
Return all captured substrings resulting from matching a POSIX regular
</row>
<row>
- <entry><literal><function>regexp_replace(<parameter>string</parameter> <type>text</type>, <parameter>pattern</parameter> <type>text</type>, <parameter>replacement</parameter> <type>text</type> [, <parameter>flags</parameter> <type>text</type>])</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>regexp_replace</primary>
+ </indexterm>
+ <literal><function>regexp_replace(<parameter>string</parameter> <type>text</type>, <parameter>pattern</parameter> <type>text</type>, <parameter>replacement</parameter> <type>text</type> [, <parameter>flags</parameter> <type>text</type>])</function></literal>
+ </entry>
<entry><type>text</type></entry>
<entry>
Replace substring(s) matching a POSIX regular expression. See
</row>
<row>
- <entry><literal><function>regexp_split_to_array(<parameter>string</parameter> <type>text</type>, <parameter>pattern</parameter> <type>text</type> [, <parameter>flags</parameter> <type>text</type> ])</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>regexp_split_to_array</primary>
+ </indexterm>
+ <literal><function>regexp_split_to_array(<parameter>string</parameter> <type>text</type>, <parameter>pattern</parameter> <type>text</type> [, <parameter>flags</parameter> <type>text</type> ])</function></literal>
+ </entry>
<entry><type>text[]</type></entry>
<entry>
Split <parameter>string</parameter> using a POSIX regular expression as
</row>
<row>
- <entry><literal><function>regexp_split_to_table(<parameter>string</parameter> <type>text</type>, <parameter>pattern</parameter> <type>text</type> [, <parameter>flags</parameter> <type>text</type>])</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>regexp_split_to_table</primary>
+ </indexterm>
+ <literal><function>regexp_split_to_table(<parameter>string</parameter> <type>text</type>, <parameter>pattern</parameter> <type>text</type> [, <parameter>flags</parameter> <type>text</type>])</function></literal>
+ </entry>
<entry><type>setof text</type></entry>
<entry>
Split <parameter>string</parameter> using a POSIX regular expression as
</row>
<row>
- <entry><literal><function>repeat(<parameter>string</parameter> <type>text</type>, <parameter>number</parameter> <type>int</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>repeat</primary>
+ </indexterm>
+ <literal><function>repeat(<parameter>string</parameter> <type>text</type>, <parameter>number</parameter> <type>int</type>)</function></literal>
+ </entry>
<entry><type>text</type></entry>
<entry>Repeat <parameter>string</parameter> the specified
<parameter>number</parameter> of times</entry>
</row>
<row>
- <entry><literal><function>replace(<parameter>string</parameter> <type>text</type>,
- <parameter>from</parameter> <type>text</type>,
- <parameter>to</parameter> <type>text</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>replace</primary>
+ </indexterm>
+ <literal><function>replace(<parameter>string</parameter> <type>text</type>,
+ <parameter>from</parameter> <type>text</type>,
+ <parameter>to</parameter> <type>text</type>)</function></literal>
+ </entry>
<entry><type>text</type></entry>
<entry>Replace all occurrences in <parameter>string</parameter> of substring
<parameter>from</parameter> with substring <parameter>to</parameter>
<row>
<entry>
+ <indexterm>
+ <primary>reverse</primary>
+ </indexterm>
<literal><function>reverse(<parameter>str</parameter>)</function></literal>
</entry>
<entry><type>text</type></entry>
<row>
<entry>
+ <indexterm>
+ <primary>right</primary>
+ </indexterm>
<literal><function>right(<parameter>str</parameter> <type>text</type>,
<parameter>n</parameter> <type>int</type>)</function></literal>
</entry>
<row>
<entry>
+ <indexterm>
+ <primary>rpad</primary>
+ </indexterm>
<literal><function>rpad(<parameter>string</parameter> <type>text</type>,
<parameter>length</parameter> <type>int</type>
<optional>, <parameter>fill</parameter> <type>text</type></optional>)</function></literal>
</row>
<row>
- <entry><literal><function>rtrim(<parameter>string</parameter> <type>text</type>
- <optional>, <parameter>characters</parameter> <type>text</type></optional>)</function></literal>
+ <entry>
+ <indexterm>
+ <primary>rtrim</primary>
+ </indexterm>
+ <literal><function>rtrim(<parameter>string</parameter> <type>text</type>
+ <optional>, <parameter>characters</parameter> <type>text</type></optional>)</function></literal>
</entry>
<entry><type>text</type></entry>
<entry>
</row>
<row>
- <entry><literal><function>split_part(<parameter>string</parameter> <type>text</type>,
- <parameter>delimiter</parameter> <type>text</type>,
- <parameter>field</parameter> <type>int</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>split_part</primary>
+ </indexterm>
+ <literal><function>split_part(<parameter>string</parameter> <type>text</type>,
+ <parameter>delimiter</parameter> <type>text</type>,
+ <parameter>field</parameter> <type>int</type>)</function></literal>
+ </entry>
<entry><type>text</type></entry>
<entry>Split <parameter>string</parameter> on <parameter>delimiter</parameter>
and return the given field (counting from one)
</row>
<row>
- <entry><literal><function>strpos(<parameter>string</parameter>, <parameter>substring</parameter>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>strpos</primary>
+ </indexterm>
+ <literal><function>strpos(<parameter>string</parameter>, <parameter>substring</parameter>)</function></literal>
+ </entry>
<entry><type>int</type></entry>
<entry>
Location of specified substring (same as
</row>
<row>
- <entry><literal><function>substr(<parameter>string</parameter>, <parameter>from</parameter> <optional>, <parameter>count</parameter></optional>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>substr</primary>
+ </indexterm>
+ <literal><function>substr(<parameter>string</parameter>, <parameter>from</parameter> <optional>, <parameter>count</parameter></optional>)</function></literal>
+ </entry>
<entry><type>text</type></entry>
<entry>
Extract substring (same as
</row>
<row>
- <entry><literal><function>to_ascii(<parameter>string</parameter> <type>text</type>
- <optional>, <parameter>encoding</parameter> <type>text</type></optional>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>to_ascii</primary>
+ </indexterm>
+ <literal><function>to_ascii(<parameter>string</parameter> <type>text</type>
+ <optional>, <parameter>encoding</parameter> <type>text</type></optional>)</function></literal>
+ </entry>
<entry><type>text</type></entry>
-
<entry>
Convert <parameter>string</parameter> to <acronym>ASCII</acronym> from another encoding
(only supports conversion from <literal>LATIN1</>, <literal>LATIN2</>, <literal>LATIN9</>,
and <literal>WIN1250</> encodings)
</entry>
-
<entry><literal>to_ascii('Karel')</literal></entry>
<entry><literal>Karel</literal></entry>
</row>
<row>
- <entry><literal><function>to_hex(<parameter>number</parameter> <type>int</type>
- or <type>bigint</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>to_hex</primary>
+ </indexterm>
+ <literal><function>to_hex(<parameter>number</parameter> <type>int</type>
+ or <type>bigint</type>)</function></literal>
+ </entry>
<entry><type>text</type></entry>
<entry>Convert <parameter>number</parameter> to its equivalent hexadecimal
representation
<row>
<entry>
+ <indexterm>
+ <primary>translate</primary>
+ </indexterm>
<literal><function>translate(<parameter>string</parameter> <type>text</type>,
<parameter>from</parameter> <type>text</type>,
<parameter>to</parameter> <type>text</type>)</function></literal>
</row>
<row>
- <entry><literal><function>octet_length(<parameter>string</parameter>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>octet_length</primary>
+ </indexterm>
+ <literal><function>octet_length(<parameter>string</parameter>)</function></literal>
+ </entry>
<entry><type>int</type></entry>
<entry>Number of bytes in binary string</entry>
<entry><literal>octet_length(E'jo\\000se'::bytea)</literal></entry>
</row>
<row>
- <entry><literal><function>overlay(<parameter>string</parameter> placing <parameter>string</parameter> from <type>int</type> <optional>for <type>int</type></optional>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>overlay</primary>
+ </indexterm>
+ <literal><function>overlay(<parameter>string</parameter> placing <parameter>string</parameter> from <type>int</type> <optional>for <type>int</type></optional>)</function></literal>
+ </entry>
<entry><type>bytea</type></entry>
<entry>
Replace substring
</row>
<row>
- <entry><literal><function>position(<parameter>substring</parameter> in <parameter>string</parameter>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>position</primary>
+ </indexterm>
+ <literal><function>position(<parameter>substring</parameter> in <parameter>string</parameter>)</function></literal>
+ </entry>
<entry><type>int</type></entry>
<entry>Location of specified substring</entry>
<entry><literal>position(E'\\000om'::bytea in E'Th\\000omas'::bytea)</literal></entry>
</row>
<row>
- <entry><literal><function>substring(<parameter>string</parameter> <optional>from <type>int</type></optional> <optional>for <type>int</type></optional>)</function></literal></entry>
- <entry><type>bytea</type></entry>
<entry>
- Extract substring
<indexterm>
<primary>substring</primary>
</indexterm>
+ <literal><function>substring(<parameter>string</parameter> <optional>from <type>int</type></optional> <optional>for <type>int</type></optional>)</function></literal>
+ </entry>
+ <entry><type>bytea</type></entry>
+ <entry>
+ Extract substring
</entry>
<entry><literal>substring(E'Th\\000omas'::bytea from 2 for 3)</literal></entry>
<entry><literal>h\000o</literal></entry>
<row>
<entry>
+ <indexterm>
+ <primary>trim</primary>
+ </indexterm>
<literal><function>trim(<optional>both</optional>
<parameter>bytes</parameter> from
<parameter>string</parameter>)</function></literal>
<tbody>
<row>
- <entry><literal><function>btrim(<parameter>string</parameter>
- <type>bytea</type>, <parameter>bytes</parameter> <type>bytea</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>btrim</primary>
+ </indexterm>
+ <literal><function>btrim(<parameter>string</parameter>
+ <type>bytea</type>, <parameter>bytes</parameter> <type>bytea</type>)</function></literal>
+ </entry>
<entry><type>bytea</type></entry>
<entry>
Remove the longest string consisting only of bytes
<row>
<entry>
+ <indexterm>
+ <primary>decode</primary>
+ </indexterm>
<literal><function>decode(<parameter>string</parameter> <type>text</type>,
<parameter>type</parameter> <type>text</type>)</function></literal>
</entry>
<row>
<entry>
+ <indexterm>
+ <primary>encode</primary>
+ </indexterm>
<literal><function>encode(<parameter>string</parameter> <type>bytea</type>,
<parameter>type</parameter> <type>text</type>)</function></literal>
</entry>
<row>
<entry>
+ <indexterm>
+ <primary>get_bit</primary>
+ </indexterm>
<literal><function>get_bit(<parameter>string</parameter>, <parameter>offset</parameter>)</function></literal>
</entry>
<entry><type>int</type></entry>
<entry>
Extract bit from string
- <indexterm>
- <primary>get_bit</primary>
- </indexterm>
</entry>
<entry><literal>get_bit(E'Th\\000omas'::bytea, 45)</literal></entry>
<entry><literal>1</literal></entry>
<row>
<entry>
+ <indexterm>
+ <primary>get_byte</primary>
+ </indexterm>
<literal><function>get_byte(<parameter>string</parameter>, <parameter>offset</parameter>)</function></literal>
</entry>
<entry><type>int</type></entry>
<entry>
Extract byte from string
- <indexterm>
- <primary>get_byte</primary>
- </indexterm>
</entry>
<entry><literal>get_byte(E'Th\\000omas'::bytea, 4)</literal></entry>
<entry><literal>109</literal></entry>
</row>
<row>
- <entry><literal><function>length(<parameter>string</parameter>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>length</primary>
+ </indexterm>
+ <literal><function>length(<parameter>string</parameter>)</function></literal>
+ </entry>
<entry><type>int</type></entry>
<entry>
Length of binary string
</row>
<row>
- <entry><literal><function>md5(<parameter>string</parameter>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>md5</primary>
+ </indexterm>
+ <literal><function>md5(<parameter>string</parameter>)</function></literal>
+ </entry>
<entry><type>text</type></entry>
<entry>
Calculates the MD5 hash of <parameter>string</parameter>,
<row>
<entry>
+ <indexterm>
+ <primary>set_bit</primary>
+ </indexterm>
<literal><function>set_bit(<parameter>string</parameter>,
<parameter>offset</parameter>, <parameter>newvalue</>)</function></literal>
</entry>
<entry><type>bytea</type></entry>
<entry>
Set bit in string
- <indexterm>
- <primary>set_bit</primary>
- </indexterm>
</entry>
<entry><literal>set_bit(E'Th\\000omas'::bytea, 45, 0)</literal></entry>
<entry><literal>Th\000omAs</literal></entry>
<row>
<entry>
+ <indexterm>
+ <primary>set_byte</primary>
+ </indexterm>
<literal><function>set_byte(<parameter>string</parameter>,
<parameter>offset</parameter>, <parameter>newvalue</>)</function></literal>
</entry>
<entry><type>bytea</type></entry>
<entry>
Set byte in string
- <indexterm>
- <primary>set_byte</primary>
- </indexterm>
</entry>
<entry><literal>set_byte(E'Th\\000omas'::bytea, 4, 64)</literal></entry>
<entry><literal>Th\000o@as</literal></entry>
<primary>formatting</primary>
</indexterm>
- <indexterm>
- <primary>to_char</primary>
- </indexterm>
- <indexterm>
- <primary>to_date</primary>
- </indexterm>
- <indexterm>
- <primary>to_number</primary>
- </indexterm>
- <indexterm>
- <primary>to_timestamp</primary>
- </indexterm>
-
<para>
The <productname>PostgreSQL</productname> formatting functions
provide a powerful set of tools for converting various data types
</thead>
<tbody>
<row>
- <entry><literal><function>to_char(<type>timestamp</type>, <type>text</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>to_char</primary>
+ </indexterm>
+ <literal><function>to_char(<type>timestamp</type>, <type>text</type>)</function></literal>
+ </entry>
<entry><type>text</type></entry>
<entry>convert time stamp to string</entry>
<entry><literal>to_char(current_timestamp, 'HH12:MI:SS')</literal></entry>
<entry><literal>to_char(-125.8, '999D99S')</literal></entry>
</row>
<row>
- <entry><literal><function>to_date(<type>text</type>, <type>text</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>to_date</primary>
+ </indexterm>
+ <literal><function>to_date(<type>text</type>, <type>text</type>)</function></literal>
+ </entry>
<entry><type>date</type></entry>
<entry>convert string to date</entry>
<entry><literal>to_date('05 Dec 2000', 'DD Mon YYYY')</literal></entry>
</row>
<row>
- <entry><literal><function>to_number(<type>text</type>, <type>text</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>to_number</primary>
+ </indexterm>
+ <literal><function>to_number(<type>text</type>, <type>text</type>)</function></literal>
+ </entry>
<entry><type>numeric</type></entry>
<entry>convert string to numeric</entry>
<entry><literal>to_number('12,454.8-', '99G999D9S')</literal></entry>
</row>
<row>
- <entry><literal><function>to_timestamp(<type>text</type>, <type>text</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>to_timestamp</primary>
+ </indexterm>
+ <literal><function>to_timestamp(<type>text</type>, <type>text</type>)</function></literal>
+ </entry>
<entry><type>timestamp with time zone</type></entry>
<entry>convert string to time stamp</entry>
<entry><literal>to_timestamp('05 Dec 2000', 'DD Mon YYYY')</literal></entry>
</tgroup>
</table>
- <indexterm>
- <primary>age</primary>
- </indexterm>
- <indexterm>
- <primary>clock_timestamp</primary>
- </indexterm>
- <indexterm>
- <primary>current_date</primary>
- </indexterm>
- <indexterm>
- <primary>current_time</primary>
- </indexterm>
- <indexterm>
- <primary>current_timestamp</primary>
- </indexterm>
- <indexterm>
- <primary>date_part</primary>
- </indexterm>
- <indexterm>
- <primary>date_trunc</primary>
- </indexterm>
- <indexterm>
- <primary>extract</primary>
- </indexterm>
- <indexterm>
- <primary>isfinite</primary>
- </indexterm>
- <indexterm>
- <primary>justify_days</primary>
- </indexterm>
- <indexterm>
- <primary>justify_hours</primary>
- </indexterm>
- <indexterm>
- <primary>justify_interval</primary>
- </indexterm>
- <indexterm>
- <primary>localtime</primary>
- </indexterm>
- <indexterm>
- <primary>localtimestamp</primary>
- </indexterm>
- <indexterm>
- <primary>now</primary>
- </indexterm>
- <indexterm>
- <primary>statement_timestamp</primary>
- </indexterm>
- <indexterm>
- <primary>timeofday</primary>
- </indexterm>
- <indexterm>
- <primary>transaction_timestamp</primary>
- </indexterm>
-
<table id="functions-datetime-table">
<title>Date/Time Functions</title>
<tgroup cols="5">
<tbody>
<row>
- <entry><literal><function>age(<type>timestamp</type>, <type>timestamp</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>age</primary>
+ </indexterm>
+ <literal><function>age(<type>timestamp</type>, <type>timestamp</type>)</function></literal>
+ </entry>
<entry><type>interval</type></entry>
<entry>Subtract arguments, producing a <quote>symbolic</> result that
uses years and months</entry>
</row>
<row>
- <entry><literal><function>clock_timestamp()</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>clock_timestamp</primary>
+ </indexterm>
+ <literal><function>clock_timestamp()</function></literal>
+ </entry>
<entry><type>timestamp with time zone</type></entry>
<entry>Current date and time (changes during statement execution);
see <xref linkend="functions-datetime-current">
</row>
<row>
- <entry><literal><function>current_date</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>current_date</primary>
+ </indexterm>
+ <literal><function>current_date</function></literal>
+ </entry>
<entry><type>date</type></entry>
<entry>Current date;
see <xref linkend="functions-datetime-current">
</row>
<row>
- <entry><literal><function>current_time</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>current_time</primary>
+ </indexterm>
+ <literal><function>current_time</function></literal>
+ </entry>
<entry><type>time with time zone</type></entry>
<entry>Current time of day;
see <xref linkend="functions-datetime-current">
</row>
<row>
- <entry><literal><function>current_timestamp</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>current_timestamp</primary>
+ </indexterm>
+ <literal><function>current_timestamp</function></literal>
+ </entry>
<entry><type>timestamp with time zone</type></entry>
<entry>Current date and time (start of current transaction);
see <xref linkend="functions-datetime-current">
</row>
<row>
- <entry><literal><function>date_part(<type>text</type>, <type>timestamp</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>date_part</primary>
+ </indexterm>
+ <literal><function>date_part(<type>text</type>, <type>timestamp</type>)</function></literal>
+ </entry>
<entry><type>double precision</type></entry>
<entry>Get subfield (equivalent to <function>extract</function>);
see <xref linkend="functions-datetime-extract">
</row>
<row>
- <entry><literal><function>date_trunc(<type>text</type>, <type>timestamp</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>date_trunc</primary>
+ </indexterm>
+ <literal><function>date_trunc(<type>text</type>, <type>timestamp</type>)</function></literal>
+ </entry>
<entry><type>timestamp</type></entry>
<entry>Truncate to specified precision; see also <xref linkend="functions-datetime-trunc">
</entry>
</row>
<row>
- <entry><literal><function>extract</function>(<parameter>field</parameter> from
- <type>timestamp</type>)</literal></entry>
+ <entry>
+ <indexterm>
+ <primary>extract</primary>
+ </indexterm>
+ <literal><function>extract</function>(<parameter>field</parameter> from
+ <type>timestamp</type>)</literal>
+ </entry>
<entry><type>double precision</type></entry>
<entry>Get subfield; see <xref linkend="functions-datetime-extract">
</entry>
</row>
<row>
- <entry><literal><function>isfinite(<type>date</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>isfinite</primary>
+ </indexterm>
+ <literal><function>isfinite(<type>date</type>)</function></literal>
+ </entry>
<entry><type>boolean</type></entry>
<entry>Test for finite date (not +/-infinity)</entry>
<entry><literal>isfinite(date '2001-02-16')</literal></entry>
</row>
<row>
- <entry><literal><function>justify_days(<type>interval</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>justify_days</primary>
+ </indexterm>
+ <literal><function>justify_days(<type>interval</type>)</function></literal>
+ </entry>
<entry><type>interval</type></entry>
<entry>Adjust interval so 30-day time periods are represented as months</entry>
<entry><literal>justify_days(interval '35 days')</literal></entry>
</row>
<row>
- <entry><literal><function>justify_hours(<type>interval</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>justify_hours</primary>
+ </indexterm>
+ <literal><function>justify_hours(<type>interval</type>)</function></literal>
+ </entry>
<entry><type>interval</type></entry>
<entry>Adjust interval so 24-hour time periods are represented as days</entry>
<entry><literal>justify_hours(interval '27 hours')</literal></entry>
</row>
<row>
- <entry><literal><function>justify_interval(<type>interval</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>justify_interval</primary>
+ </indexterm>
+ <literal><function>justify_interval(<type>interval</type>)</function></literal>
+ </entry>
<entry><type>interval</type></entry>
<entry>Adjust interval using <function>justify_days</> and <function>justify_hours</>, with additional sign adjustments</entry>
<entry><literal>justify_interval(interval '1 mon -1 hour')</literal></entry>
</row>
<row>
- <entry><literal><function>localtime</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>localtime</primary>
+ </indexterm>
+ <literal><function>localtime</function></literal>
+ </entry>
<entry><type>time</type></entry>
<entry>Current time of day;
see <xref linkend="functions-datetime-current">
</row>
<row>
- <entry><literal><function>localtimestamp</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>localtimestamp</primary>
+ </indexterm>
+ <literal><function>localtimestamp</function></literal>
+ </entry>
<entry><type>timestamp</type></entry>
<entry>Current date and time (start of current transaction);
see <xref linkend="functions-datetime-current">
</row>
<row>
- <entry><literal><function>now()</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>now</primary>
+ </indexterm>
+ <literal><function>now()</function></literal>
+ </entry>
<entry><type>timestamp with time zone</type></entry>
<entry>Current date and time (start of current transaction);
see <xref linkend="functions-datetime-current">
</row>
<row>
- <entry><literal><function>statement_timestamp()</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>statement_timestamp</primary>
+ </indexterm>
+ <literal><function>statement_timestamp()</function></literal>
+ </entry>
<entry><type>timestamp with time zone</type></entry>
<entry>Current date and time (start of current statement);
see <xref linkend="functions-datetime-current">
</row>
<row>
- <entry><literal><function>timeofday()</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>timeofday</primary>
+ </indexterm>
+ <literal><function>timeofday()</function></literal>
+ </entry>
<entry><type>text</type></entry>
<entry>Current date and time
(like <function>clock_timestamp</>, but as a <type>text</> string);
</row>
<row>
- <entry><literal><function>transaction_timestamp()</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>transaction_timestamp</primary>
+ </indexterm>
+ <literal><function>transaction_timestamp()</function></literal>
+ </entry>
<entry><type>timestamp with time zone</type></entry>
<entry>Current date and time (start of current transaction);
see <xref linkend="functions-datetime-current">
</thead>
<tbody>
<row>
- <entry><literal>enum_first(anyenum)</literal></entry>
+ <entry>
+ <indexterm>
+ <primary>enum_first</primary>
+ </indexterm>
+ <literal>enum_first(anyenum)</literal>
+ </entry>
<entry>Returns the first value of the input enum type</entry>
<entry><literal>enum_first(null::rainbow)</literal></entry>
<entry><literal>red</literal></entry>
</row>
<row>
- <entry><literal>enum_last(anyenum)</literal></entry>
+ <entry>
+ <indexterm>
+ <primary>enum_last</primary>
+ </indexterm>
+ <literal>enum_last(anyenum)</literal>
+ </entry>
<entry>Returns the last value of the input enum type</entry>
<entry><literal>enum_last(null::rainbow)</literal></entry>
<entry><literal>purple</literal></entry>
</row>
<row>
- <entry><literal>enum_range(anyenum)</literal></entry>
+ <entry>
+ <indexterm>
+ <primary>enum_range</primary>
+ </indexterm>
+ <literal>enum_range(anyenum)</literal>
+ </entry>
<entry>Returns all values of the input enum type in an ordered array</entry>
<entry><literal>enum_range(null::rainbow)</literal></entry>
<entry><literal>{red,orange,yellow,green,blue,purple}</literal></entry>
</thead>
<tbody>
<row>
- <entry><literal><function>box(<type>circle</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>box</primary>
+ </indexterm>
+ <literal><function>box(<type>circle</type>)</function></literal>
+ </entry>
<entry><type>box</type></entry>
<entry>circle to box</entry>
<entry><literal>box(circle '((0,0),2.0)')</literal></entry>
<entry><literal>box(polygon '((0,0),(1,1),(2,0))')</literal></entry>
</row>
<row>
- <entry><literal><function>circle(<type>box</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>circle</primary>
+ </indexterm>
+ <literal><function>circle(<type>box</type>)</function></literal>
+ </entry>
<entry><type>circle</type></entry>
<entry>box to circle</entry>
<entry><literal>circle(box '((0,0),(1,1))')</literal></entry>
<entry><literal>circle(polygon '((0,0),(1,1),(2,0))')</literal></entry>
</row>
<row>
- <entry><literal><function>lseg(<type>box</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>lseg</primary>
+ </indexterm>
+ <literal><function>lseg(<type>box</type>)</function></literal>
+ </entry>
<entry><type>lseg</type></entry>
<entry>box diagonal to line segment</entry>
<entry><literal>lseg(box '((-1,0),(1,0))')</literal></entry>
<entry><literal>lseg(point '(-1,0)', point '(1,0)')</literal></entry>
</row>
<row>
- <entry><literal><function>path(<type>polygon</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>path</primary>
+ </indexterm>
+ <literal><function>path(<type>polygon</type>)</function></literal>
+ </entry>
<entry><type>point</type></entry>
<entry>polygon to path</entry>
<entry><literal>path(polygon '((0,0),(1,1),(2,0))')</literal></entry>
</row>
<row>
- <entry><literal><function>point</function>(<type>double
- precision</type>, <type>double precision</type>)</literal></entry>
+ <entry>
+ <indexterm>
+ <primary>point</primary>
+ </indexterm>
+ <literal><function>point</function>(<type>double
+ precision</type>, <type>double precision</type>)</literal>
+ </entry>
<entry><type>point</type></entry>
<entry>construct point</entry>
<entry><literal>point(23.4, -44.5)</literal></entry>
<entry><literal>point(polygon '((0,0),(1,1),(2,0))')</literal></entry>
</row>
<row>
- <entry><literal><function>polygon(<type>box</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>polygon</primary>
+ </indexterm>
+ <literal><function>polygon(<type>box</type>)</function></literal>
+ </entry>
<entry><type>polygon</type></entry>
<entry>box to 4-point polygon</entry>
<entry><literal>polygon(box '((0,0),(1,1))')</literal></entry>
</thead>
<tbody>
<row>
- <entry><literal><function>abbrev(<type>inet</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>abbrev</primary>
+ </indexterm>
+ <literal><function>abbrev(<type>inet</type>)</function></literal>
+ </entry>
<entry><type>text</type></entry>
<entry>abbreviated display format as text</entry>
<entry><literal>abbrev(inet '10.1.0.0/16')</literal></entry>
<entry><literal>10.1/16</literal></entry>
</row>
<row>
- <entry><literal><function>broadcast(<type>inet</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>broadcast</primary>
+ </indexterm>
+ <literal><function>broadcast(<type>inet</type>)</function></literal>
+ </entry>
<entry><type>inet</type></entry>
<entry>broadcast address for network</entry>
<entry><literal>broadcast('192.168.1.5/24')</literal></entry>
<entry><literal>192.168.1.255/24</literal></entry>
</row>
<row>
- <entry><literal><function>family(<type>inet</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>family</primary>
+ </indexterm>
+ <literal><function>family(<type>inet</type>)</function></literal>
+ </entry>
<entry><type>int</type></entry>
<entry>extract family of address; <literal>4</literal> for IPv4,
<literal>6</literal> for IPv6</entry>
<entry><literal>6</literal></entry>
</row>
<row>
- <entry><literal><function>host(<type>inet</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>host</primary>
+ </indexterm>
+ <literal><function>host(<type>inet</type>)</function></literal>
+ </entry>
<entry><type>text</type></entry>
<entry>extract IP address as text</entry>
<entry><literal>host('192.168.1.5/24')</literal></entry>
<entry><literal>192.168.1.5</literal></entry>
</row>
<row>
- <entry><literal><function>hostmask(<type>inet</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>hostmask</primary>
+ </indexterm>
+ <literal><function>hostmask(<type>inet</type>)</function></literal>
+ </entry>
<entry><type>inet</type></entry>
<entry>construct host mask for network</entry>
<entry><literal>hostmask('192.168.23.20/30')</literal></entry>
<entry><literal>0.0.0.3</literal></entry>
</row>
<row>
- <entry><literal><function>masklen(<type>inet</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>masklen</primary>
+ </indexterm>
+ <literal><function>masklen(<type>inet</type>)</function></literal>
+ </entry>
<entry><type>int</type></entry>
<entry>extract netmask length</entry>
<entry><literal>masklen('192.168.1.5/24')</literal></entry>
<entry><literal>24</literal></entry>
</row>
<row>
- <entry><literal><function>netmask(<type>inet</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>netmask</primary>
+ </indexterm>
+ <literal><function>netmask(<type>inet</type>)</function></literal>
+ </entry>
<entry><type>inet</type></entry>
<entry>construct netmask for network</entry>
<entry><literal>netmask('192.168.1.5/24')</literal></entry>
<entry><literal>255.255.255.0</literal></entry>
</row>
<row>
- <entry><literal><function>network(<type>inet</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>network</primary>
+ </indexterm>
+ <literal><function>network(<type>inet</type>)</function></literal>
+ </entry>
<entry><type>cidr</type></entry>
<entry>extract network part of address</entry>
<entry><literal>network('192.168.1.5/24')</literal></entry>
<entry><literal>192.168.1.0/24</literal></entry>
</row>
<row>
- <entry><literal><function>set_masklen(<type>inet</type>, <type>int</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>set_masklen</primary>
+ </indexterm>
+ <literal><function>set_masklen(<type>inet</type>, <type>int</type>)</function></literal>
+ </entry>
<entry><type>inet</type></entry>
<entry>set netmask length for <type>inet</type> value</entry>
<entry><literal>set_masklen('192.168.1.5/24', 16)</literal></entry>
<entry><literal>192.168.0.0/16</literal></entry>
</row>
<row>
- <entry><literal><function>text(<type>inet</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>text</primary>
+ </indexterm>
+ <literal><function>text(<type>inet</type>)</function></literal>
+ </entry>
<entry><type>text</type></entry>
<entry>extract IP address and netmask length as text</entry>
<entry><literal>text(inet '192.168.1.5')</literal></entry>
</thead>
<tbody>
<row>
- <entry><literal><function>trunc(<type>macaddr</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>trunc</primary>
+ </indexterm>
+ <literal><function>trunc(<type>macaddr</type>)</function></literal>
+ </entry>
<entry><type>macaddr</type></entry>
<entry>set last 3 bytes to zero</entry>
<entry><literal>trunc(macaddr '12:34:56:78:90:ab')</literal></entry>
</thead>
<tbody>
<row>
- <entry><literal><function>to_tsvector(<optional> <replaceable class="PARAMETER">config</> <type>regconfig</> , </optional> <replaceable class="PARAMETER">document</> <type>text</type>)</function></literal></entry>
- <entry><type>tsvector</type></entry>
- <entry>reduce document text to <type>tsvector</></entry>
- <entry><literal>to_tsvector('english', 'The Fat Rats')</literal></entry>
- <entry><literal>'fat':2 'rat':3</literal></entry>
+ <entry>
+ <indexterm>
+ <primary>get_current_ts_config</primary>
+ </indexterm>
+ <literal><function>get_current_ts_config()</function></literal>
+ </entry>
+ <entry><type>regconfig</type></entry>
+ <entry>get default text search configuration</entry>
+ <entry><literal>get_current_ts_config()</literal></entry>
+ <entry><literal>english</literal></entry>
</row>
<row>
- <entry><literal><function>length(<type>tsvector</>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>length</primary>
+ </indexterm>
+ <literal><function>length(<type>tsvector</>)</function></literal>
+ </entry>
<entry><type>integer</type></entry>
<entry>number of lexemes in <type>tsvector</></entry>
<entry><literal>length('fat:2,4 cat:3 rat:5A'::tsvector)</literal></entry>
<entry><literal>3</literal></entry>
</row>
<row>
- <entry><literal><function>setweight(<type>tsvector</>, <type>"char"</>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>numnode</primary>
+ </indexterm>
+ <literal><function>numnode(<type>tsquery</>)</function></literal>
+ </entry>
+ <entry><type>integer</type></entry>
+ <entry>number of lexemes plus operators in <type>tsquery</></entry>
+ <entry><literal> numnode('(fat & rat) | cat'::tsquery)</literal></entry>
+ <entry><literal>5</literal></entry>
+ </row>
+ <row>
+ <entry>
+ <indexterm>
+ <primary>plainto_tsquery</primary>
+ </indexterm>
+ <literal><function>plainto_tsquery(<optional> <replaceable class="PARAMETER">config</> <type>regconfig</> , </optional> <replaceable class="PARAMETER">query</> <type>text</type>)</function></literal>
+ </entry>
+ <entry><type>tsquery</type></entry>
+ <entry>produce <type>tsquery</> ignoring punctuation</entry>
+ <entry><literal>plainto_tsquery('english', 'The Fat Rats')</literal></entry>
+ <entry><literal>'fat' & 'rat'</literal></entry>
+ </row>
+ <row>
+ <entry>
+ <indexterm>
+ <primary>querytree</primary>
+ </indexterm>
+ <literal><function>querytree(<replaceable class="PARAMETER">query</replaceable> <type>tsquery</>)</function></literal>
+ </entry>
+ <entry><type>text</type></entry>
+ <entry>get indexable part of a <type>tsquery</></entry>
+ <entry><literal>querytree('foo & ! bar'::tsquery)</literal></entry>
+ <entry><literal>'foo'</literal></entry>
+ </row>
+ <row>
+ <entry>
+ <indexterm>
+ <primary>setweight</primary>
+ </indexterm>
+ <literal><function>setweight(<type>tsvector</>, <type>"char"</>)</function></literal>
+ </entry>
<entry><type>tsvector</type></entry>
<entry>assign weight to each element of <type>tsvector</></entry>
<entry><literal>setweight('fat:2,4 cat:3 rat:5B'::tsvector, 'A')</literal></entry>
<entry><literal>'cat':3A 'fat':2A,4A 'rat':5A</literal></entry>
</row>
<row>
- <entry><literal><function>strip(<type>tsvector</>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>strip</primary>
+ </indexterm>
+ <literal><function>strip(<type>tsvector</>)</function></literal>
+ </entry>
<entry><type>tsvector</type></entry>
<entry>remove positions and weights from <type>tsvector</></entry>
<entry><literal>strip('fat:2,4 cat:3 rat:5A'::tsvector)</literal></entry>
<entry><literal>'cat' 'fat' 'rat'</literal></entry>
</row>
<row>
- <entry><literal><function>to_tsquery(<optional> <replaceable class="PARAMETER">config</> <type>regconfig</> , </optional> <replaceable class="PARAMETER">query</> <type>text</type>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>to_tsquery</primary>
+ </indexterm>
+ <literal><function>to_tsquery(<optional> <replaceable class="PARAMETER">config</> <type>regconfig</> , </optional> <replaceable class="PARAMETER">query</> <type>text</type>)</function></literal>
+ </entry>
<entry><type>tsquery</type></entry>
<entry>normalize words and convert to <type>tsquery</></entry>
<entry><literal>to_tsquery('english', 'The & Fat & Rats')</literal></entry>
<entry><literal>'fat' & 'rat'</literal></entry>
</row>
<row>
- <entry><literal><function>plainto_tsquery(<optional> <replaceable class="PARAMETER">config</> <type>regconfig</> , </optional> <replaceable class="PARAMETER">query</> <type>text</type>)</function></literal></entry>
- <entry><type>tsquery</type></entry>
- <entry>produce <type>tsquery</> ignoring punctuation</entry>
- <entry><literal>plainto_tsquery('english', 'The Fat Rats')</literal></entry>
- <entry><literal>'fat' & 'rat'</literal></entry>
- </row>
- <row>
- <entry><literal><function>numnode(<type>tsquery</>)</function></literal></entry>
- <entry><type>integer</type></entry>
- <entry>number of lexemes plus operators in <type>tsquery</></entry>
- <entry><literal> numnode('(fat & rat) | cat'::tsquery)</literal></entry>
- <entry><literal>5</literal></entry>
+ <entry>
+ <indexterm>
+ <primary>to_tsvector</primary>
+ </indexterm>
+ <literal><function>to_tsvector(<optional> <replaceable class="PARAMETER">config</> <type>regconfig</> , </optional> <replaceable class="PARAMETER">document</> <type>text</type>)</function></literal>
+ </entry>
+ <entry><type>tsvector</type></entry>
+ <entry>reduce document text to <type>tsvector</></entry>
+ <entry><literal>to_tsvector('english', 'The Fat Rats')</literal></entry>
+ <entry><literal>'fat':2 'rat':3</literal></entry>
</row>
<row>
- <entry><literal><function>querytree(<replaceable class="PARAMETER">query</replaceable> <type>tsquery</>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>ts_headline</primary>
+ </indexterm>
+ <literal><function>ts_headline(<optional> <replaceable class="PARAMETER">config</replaceable> <type>regconfig</>, </optional> <replaceable class="PARAMETER">document</replaceable> <type>text</>, <replaceable class="PARAMETER">query</replaceable> <type>tsquery</> <optional>, <replaceable class="PARAMETER">options</replaceable> <type>text</> </optional>)</function></literal>
+ </entry>
<entry><type>text</type></entry>
- <entry>get indexable part of a <type>tsquery</></entry>
- <entry><literal>querytree('foo & ! bar'::tsquery)</literal></entry>
- <entry><literal>'foo'</literal></entry>
+ <entry>display a query match</entry>
+ <entry><literal>ts_headline('x y z', 'z'::tsquery)</literal></entry>
+ <entry><literal>x y <b>z</b></literal></entry>
</row>
<row>
- <entry><literal><function>ts_rank(<optional> <replaceable class="PARAMETER">weights</replaceable> <type>float4[]</>, </optional> <replaceable class="PARAMETER">vector</replaceable> <type>tsvector</>, <replaceable class="PARAMETER">query</replaceable> <type>tsquery</> <optional>, <replaceable class="PARAMETER">normalization</replaceable> <type>integer</> </optional>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>ts_rank</primary>
+ </indexterm>
+ <literal><function>ts_rank(<optional> <replaceable class="PARAMETER">weights</replaceable> <type>float4[]</>, </optional> <replaceable class="PARAMETER">vector</replaceable> <type>tsvector</>, <replaceable class="PARAMETER">query</replaceable> <type>tsquery</> <optional>, <replaceable class="PARAMETER">normalization</replaceable> <type>integer</> </optional>)</function></literal>
+ </entry>
<entry><type>float4</type></entry>
<entry>rank document for query</entry>
<entry><literal>ts_rank(textsearch, query)</literal></entry>
<entry><literal>0.818</literal></entry>
</row>
<row>
- <entry><literal><function>ts_rank_cd(<optional> <replaceable class="PARAMETER">weights</replaceable> <type>float4[]</>, </optional> <replaceable class="PARAMETER">vector</replaceable> <type>tsvector</>, <replaceable class="PARAMETER">query</replaceable> <type>tsquery</> <optional>, <replaceable class="PARAMETER">normalization</replaceable> <type>integer</> </optional>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>ts_rank_cd</primary>
+ </indexterm>
+ <literal><function>ts_rank_cd(<optional> <replaceable class="PARAMETER">weights</replaceable> <type>float4[]</>, </optional> <replaceable class="PARAMETER">vector</replaceable> <type>tsvector</>, <replaceable class="PARAMETER">query</replaceable> <type>tsquery</> <optional>, <replaceable class="PARAMETER">normalization</replaceable> <type>integer</> </optional>)</function></literal>
+ </entry>
<entry><type>float4</type></entry>
<entry>rank document for query using cover density</entry>
<entry><literal>ts_rank_cd('{0.1, 0.2, 0.4, 1.0}', textsearch, query)</literal></entry>
<entry><literal>2.01317</literal></entry>
</row>
<row>
- <entry><literal><function>ts_headline(<optional> <replaceable class="PARAMETER">config</replaceable> <type>regconfig</>, </optional> <replaceable class="PARAMETER">document</replaceable> <type>text</>, <replaceable class="PARAMETER">query</replaceable> <type>tsquery</> <optional>, <replaceable class="PARAMETER">options</replaceable> <type>text</> </optional>)</function></literal></entry>
- <entry><type>text</type></entry>
- <entry>display a query match</entry>
- <entry><literal>ts_headline('x y z', 'z'::tsquery)</literal></entry>
- <entry><literal>x y <b>z</b></literal></entry>
- </row>
- <row>
- <entry><literal><function>ts_rewrite(<replaceable class="PARAMETER">query</replaceable> <type>tsquery</>, <replaceable class="PARAMETER">target</replaceable> <type>tsquery</>, <replaceable class="PARAMETER">substitute</replaceable> <type>tsquery</>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>ts_rewrite</primary>
+ </indexterm>
+ <literal><function>ts_rewrite(<replaceable class="PARAMETER">query</replaceable> <type>tsquery</>, <replaceable class="PARAMETER">target</replaceable> <type>tsquery</>, <replaceable class="PARAMETER">substitute</replaceable> <type>tsquery</>)</function></literal>
+ </entry>
<entry><type>tsquery</type></entry>
<entry>replace target with substitute within query</entry>
<entry><literal>ts_rewrite('a & b'::tsquery, 'a'::tsquery, 'foo|bar'::tsquery)</literal></entry>
<entry><literal>'b' & ( 'foo' | 'bar' )</literal></entry>
</row>
<row>
- <entry><literal><function>get_current_ts_config()</function></literal></entry>
- <entry><type>regconfig</type></entry>
- <entry>get default text search configuration</entry>
- <entry><literal>get_current_ts_config()</literal></entry>
- <entry><literal>english</literal></entry>
- </row>
- <row>
- <entry><literal><function>tsvector_update_trigger()</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>tsvector_update_trigger</primary>
+ </indexterm>
+ <literal><function>tsvector_update_trigger()</function></literal>
+ </entry>
<entry><type>trigger</type></entry>
<entry>trigger function for automatic <type>tsvector</> column update</entry>
<entry><literal>CREATE TRIGGER ... tsvector_update_trigger(tsvcol, 'pg_catalog.swedish', title, body)</literal></entry>
<entry><literal></literal></entry>
</row>
<row>
- <entry><literal><function>tsvector_update_trigger_column()</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>tsvector_update_trigger_column</primary>
+ </indexterm>
+ <literal><function>tsvector_update_trigger_column()</function></literal>
+ </entry>
<entry><type>trigger</type></entry>
<entry>trigger function for automatic <type>tsvector</> column update</entry>
<entry><literal>CREATE TRIGGER ... tsvector_update_trigger_column(tsvcol, configcol, title, body)</literal></entry>
</thead>
<tbody>
<row>
- <entry><literal><function>ts_debug(<optional> <replaceable class="PARAMETER">config</replaceable> <type>regconfig</>, </optional> <replaceable class="PARAMETER">document</replaceable> <type>text</>, OUT <replaceable class="PARAMETER">alias</> <type>text</>, OUT <replaceable class="PARAMETER">description</> <type>text</>, OUT <replaceable class="PARAMETER">token</> <type>text</>, OUT <replaceable class="PARAMETER">dictionaries</> <type>regdictionary[]</>, OUT <replaceable class="PARAMETER">dictionary</> <type>regdictionary</>, OUT <replaceable class="PARAMETER">lexemes</> <type>text[]</>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>ts_debug</primary>
+ </indexterm>
+ <literal><function>ts_debug(<optional> <replaceable class="PARAMETER">config</replaceable> <type>regconfig</>, </optional> <replaceable class="PARAMETER">document</replaceable> <type>text</>, OUT <replaceable class="PARAMETER">alias</> <type>text</>, OUT <replaceable class="PARAMETER">description</> <type>text</>, OUT <replaceable class="PARAMETER">token</> <type>text</>, OUT <replaceable class="PARAMETER">dictionaries</> <type>regdictionary[]</>, OUT <replaceable class="PARAMETER">dictionary</> <type>regdictionary</>, OUT <replaceable class="PARAMETER">lexemes</> <type>text[]</>)</function></literal>
+ </entry>
<entry><type>setof record</type></entry>
<entry>test a configuration</entry>
<entry><literal>ts_debug('english', 'The Brightest supernovaes')</literal></entry>
<entry><literal>(asciiword,"Word, all ASCII",The,{english_stem},english_stem,{}) ...</literal></entry>
</row>
<row>
- <entry><literal><function>ts_lexize(<replaceable class="PARAMETER">dict</replaceable> <type>regdictionary</>, <replaceable class="PARAMETER">token</replaceable> <type>text</>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>ts_lexize</primary>
+ </indexterm>
+ <literal><function>ts_lexize(<replaceable class="PARAMETER">dict</replaceable> <type>regdictionary</>, <replaceable class="PARAMETER">token</replaceable> <type>text</>)</function></literal>
+ </entry>
<entry><type>text[]</type></entry>
<entry>test a dictionary</entry>
<entry><literal>ts_lexize('english_stem', 'stars')</literal></entry>
<entry><literal>{star}</literal></entry>
</row>
<row>
- <entry><literal><function>ts_parse(<replaceable class="PARAMETER">parser_name</replaceable> <type>text</>, <replaceable class="PARAMETER">document</replaceable> <type>text</>, OUT <replaceable class="PARAMETER">tokid</> <type>integer</>, OUT <replaceable class="PARAMETER">token</> <type>text</>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>ts_parse</primary>
+ </indexterm>
+ <literal><function>ts_parse(<replaceable class="PARAMETER">parser_name</replaceable> <type>text</>, <replaceable class="PARAMETER">document</replaceable> <type>text</>, OUT <replaceable class="PARAMETER">tokid</> <type>integer</>, OUT <replaceable class="PARAMETER">token</> <type>text</>)</function></literal>
+ </entry>
<entry><type>setof record</type></entry>
<entry>test a parser</entry>
<entry><literal>ts_parse('default', 'foo - bar')</literal></entry>
<entry><literal>(1,foo) ...</literal></entry>
</row>
<row>
- <entry><literal><function>ts_token_type(<replaceable class="PARAMETER">parser_name</> <type>text</>, OUT <replaceable class="PARAMETER">tokid</> <type>integer</>, OUT <replaceable class="PARAMETER">alias</> <type>text</>, OUT <replaceable class="PARAMETER">description</> <type>text</>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>ts_token_type</primary>
+ </indexterm>
+ <literal><function>ts_token_type(<replaceable class="PARAMETER">parser_name</> <type>text</>, OUT <replaceable class="PARAMETER">tokid</> <type>integer</>, OUT <replaceable class="PARAMETER">alias</> <type>text</>, OUT <replaceable class="PARAMETER">description</> <type>text</>)</function></literal>
+ </entry>
<entry><type>setof record</type></entry>
<entry>get token types defined by parser</entry>
<entry><literal>ts_token_type('default')</literal></entry>
<entry><literal>(1,asciiword,"Word, all ASCII") ...</literal></entry>
</row>
<row>
- <entry><literal><function>ts_stat(<replaceable class="PARAMETER">sqlquery</replaceable> <type>text</>, <optional> <replaceable class="PARAMETER">weights</replaceable> <type>text</>, </optional> OUT <replaceable class="PARAMETER">word</replaceable> <type>text</>, OUT <replaceable class="PARAMETER">ndoc</replaceable> <type>integer</>, OUT <replaceable class="PARAMETER">nentry</replaceable> <type>integer</>)</function></literal></entry>
+ <entry>
+ <indexterm>
+ <primary>ts_stat</primary>
+ </indexterm>
+ <literal><function>ts_stat(<replaceable class="PARAMETER">sqlquery</replaceable> <type>text</>, <optional> <replaceable class="PARAMETER">weights</replaceable> <type>text</>, </optional> OUT <replaceable class="PARAMETER">word</replaceable> <type>text</>, OUT <replaceable class="PARAMETER">ndoc</replaceable> <type>integer</>, OUT <replaceable class="PARAMETER">nentry</replaceable> <type>integer</>)</function></literal>
+ </entry>
<entry><type>setof record</type></entry>
<entry>get statistics of a <type>tsvector</> column</entry>
<entry><literal>ts_stat('SELECT vector from apod')</literal></entry>
<indexterm>
<primary>average</primary>
</indexterm>
+ <indexterm>
+ <primary>avg</primary>
+ </indexterm>
<function>avg(<replaceable class="parameter">expression</replaceable>)</function>
</entry>
<entry>
</row>
<row>
- <entry><function>count(*)</function></entry>
+ <entry>
+ <indexterm>
+ <primary>count</primary>
+ </indexterm>
+ <function>count(*)</function>
+ </entry>
<entry></entry>
<entry><type>bigint</type></entry>
<entry>number of input rows</entry>
</row>
<row>
- <entry><function>max(<replaceable class="parameter">expression</replaceable>)</function></entry>
+ <entry>
+ <indexterm>
+ <primary>max</primary>
+ </indexterm>
+ <function>max(<replaceable class="parameter">expression</replaceable>)</function>
+ </entry>
<entry>any array, numeric, string, or date/time type</entry>
<entry>same as argument type</entry>
<entry>
</row>
<row>
- <entry><function>min(<replaceable class="parameter">expression</replaceable>)</function></entry>
+ <entry>
+ <indexterm>
+ <primary>min</primary>
+ </indexterm>
+ <function>min(<replaceable class="parameter">expression</replaceable>)</function>
+ </entry>
<entry>any array, numeric, string, or date/time type</entry>
<entry>same as argument type</entry>
<entry>
</row>
<row>
- <entry><function>sum(<replaceable class="parameter">expression</replaceable>)</function></entry>
+ <entry>
+ <indexterm>
+ <primary>sum</primary>
+ </indexterm>
+ <function>sum(<replaceable class="parameter">expression</replaceable>)</function>
+ </entry>
<entry>
<type>smallint</type>, <type>int</type>,
<type>bigint</type>, <type>real</type>, <type>double
<indexterm>
<primary>correlation</primary>
</indexterm>
+ <indexterm>
+ <primary>corr</primary>
+ </indexterm>
<function>corr(<replaceable class="parameter">Y</replaceable>, <replaceable class="parameter">X</replaceable>)</function>
</entry>
<entry>
<primary>covariance</primary>
<secondary>population</secondary>
</indexterm>
+ <indexterm>
+ <primary>covar_pop</primary>
+ </indexterm>
<function>covar_pop(<replaceable class="parameter">Y</replaceable>, <replaceable class="parameter">X</replaceable>)</function>
</entry>
<entry>
<primary>covariance</primary>
<secondary>sample</secondary>
</indexterm>
+ <indexterm>
+ <primary>covar_samp</primary>
+ </indexterm>
<function>covar_samp(<replaceable class="parameter">Y</replaceable>, <replaceable class="parameter">X</replaceable>)</function>
</entry>
<entry>
<row>
<entry>
+ <indexterm>
+ <primary>regr_avgx</primary>
+ </indexterm>
<function>regr_avgx(<replaceable class="parameter">Y</replaceable>, <replaceable class="parameter">X</replaceable>)</function>
</entry>
<entry>
<row>
<entry>
+ <indexterm>
+ <primary>regr_avgy</primary>
+ </indexterm>
<function>regr_avgy(<replaceable class="parameter">Y</replaceable>, <replaceable class="parameter">X</replaceable>)</function>
</entry>
<entry>
<row>
<entry>
+ <indexterm>
+ <primary>regr_count</primary>
+ </indexterm>
<function>regr_count(<replaceable class="parameter">Y</replaceable>, <replaceable class="parameter">X</replaceable>)</function>
</entry>
<entry>
<indexterm>
<primary>regression intercept</primary>
</indexterm>
+ <indexterm>
+ <primary>regr_intercept</primary>
+ </indexterm>
<function>regr_intercept(<replaceable class="parameter">Y</replaceable>, <replaceable class="parameter">X</replaceable>)</function>
</entry>
<entry>
<row>
<entry>
+ <indexterm>
+ <primary>regr_r2</primary>
+ </indexterm>
<function>regr_r2(<replaceable class="parameter">Y</replaceable>, <replaceable class="parameter">X</replaceable>)</function>
</entry>
<entry>
<indexterm>
<primary>regression slope</primary>
</indexterm>
+ <indexterm>
+ <primary>regr_slope</primary>
+ </indexterm>
<function>regr_slope(<replaceable class="parameter">Y</replaceable>, <replaceable class="parameter">X</replaceable>)</function>
</entry>
<entry>
<row>
<entry>
+ <indexterm>
+ <primary>regr_sxx</primary>
+ </indexterm>
<function>regr_sxx(<replaceable class="parameter">Y</replaceable>, <replaceable class="parameter">X</replaceable>)</function>
</entry>
<entry>
<row>
<entry>
+ <indexterm>
+ <primary>regr_sxy</primary>
+ </indexterm>
<function>regr_sxy(<replaceable class="parameter">Y</replaceable>, <replaceable class="parameter">X</replaceable>)</function>
</entry>
<entry>
<row>
<entry>
+ <indexterm>
+ <primary>regr_syy</primary>
+ </indexterm>
<function>regr_syy(<replaceable class="parameter">Y</replaceable>, <replaceable class="parameter">X</replaceable>)</function>
</entry>
<entry>
<indexterm>
<primary>standard deviation</primary>
</indexterm>
+ <indexterm>
+ <primary>stddev</primary>
+ </indexterm>
<function>stddev(<replaceable class="parameter">expression</replaceable>)</function>
</entry>
<entry>
<primary>standard deviation</primary>
<secondary>population</secondary>
</indexterm>
+ <indexterm>
+ <primary>stddev_pop</primary>
+ </indexterm>
<function>stddev_pop(<replaceable class="parameter">expression</replaceable>)</function>
</entry>
<entry>
<primary>standard deviation</primary>
<secondary>sample</secondary>
</indexterm>
+ <indexterm>
+ <primary>stddev_samp</primary>
+ </indexterm>
<function>stddev_samp(<replaceable class="parameter">expression</replaceable>)</function>
</entry>
<entry>
<primary>variance</primary>
<secondary>population</secondary>
</indexterm>
+ <indexterm>
+ <primary>var_pop</primary>
+ </indexterm>
<function>var_pop</function>(<replaceable class="parameter">expression</replaceable>)
</entry>
<entry>
<primary>variance</primary>
<secondary>sample</secondary>
</indexterm>
+ <indexterm>
+ <primary>var_samp</primary>
+ </indexterm>
<function>var_samp</function>(<replaceable class="parameter">expression</replaceable>)
</entry>
<entry>
<entry>name of current database</entry>
</row>
+ <row>
+ <entry><literal><function>current_query()</function></literal></entry>
+ <entry><type>text</type></entry>
+ <entry>text of the currently executing query, as submitted
+ by the client (might contain more than one statement)</entry>
+ </row>
+
<row>
<entry><literal><function>current_schema</function>[()]</literal></entry>
<entry><type>name</type></entry>
<entry>user name of current execution context</entry>
</row>
- <row>
- <entry><literal><function>current_query()</function></literal></entry>
- <entry><type>text</type></entry>
- <entry>text of the currently executing query, as submitted
- by the client (might contain more than one statement)</entry>
- </row>
-
- <row>
- <!-- See also the entry for this in monitoring.sgml -->
- <entry><literal><function>pg_backend_pid()</function></literal></entry>
- <entry><type>int</type></entry>
- <entry>
- Process ID of the server process attached to the current session
- </entry>
- </row>
-
- <row>
- <entry><literal><function>pg_listening_channels()</function></literal></entry>
- <entry><type>setof text</type></entry>
- <entry>channel names that the session is currently listening on</entry>
- </row>
-
<row>
<entry><literal><function>inet_client_addr()</function></literal></entry>
<entry><type>inet</type></entry>
</row>
<row>
- <entry><literal><function>pg_my_temp_schema()</function></literal></entry>
- <entry><type>oid</type></entry>
- <entry>OID of session's temporary schema, or 0 if none</entry>
+ <!-- See also the entry for this in monitoring.sgml -->
+ <entry><literal><function>pg_backend_pid()</function></literal></entry>
+ <entry><type>int</type></entry>
+ <entry>
+ Process ID of the server process attached to the current session
+ </entry>
+ </row>
+
+ <row>
+ <entry><literal><function>pg_conf_load_time()</function></literal></entry>
+ <entry><type>timestamp with time zone</type></entry>
+ <entry>configuration load time</entry>
</row>
<row>
</row>
<row>
- <entry><literal><function>pg_postmaster_start_time()</function></literal></entry>
- <entry><type>timestamp with time zone</type></entry>
- <entry>server start time</entry>
+ <entry><literal><function>pg_listening_channels()</function></literal></entry>
+ <entry><type>setof text</type></entry>
+ <entry>channel names that the session is currently listening on</entry>
</row>
<row>
- <entry><literal><function>pg_conf_load_time()</function></literal></entry>
+ <entry><literal><function>pg_my_temp_schema()</function></literal></entry>
+ <entry><type>oid</type></entry>
+ <entry>OID of session's temporary schema, or 0 if none</entry>
+ </row>
+
+ <row>
+ <entry><literal><function>pg_postmaster_start_time()</function></literal></entry>
<entry><type>timestamp with time zone</type></entry>
- <entry>configuration load time</entry>
+ <entry>server start time</entry>
</row>
<row>
</note>
<indexterm>
- <primary>user</primary>
- <secondary>current</secondary>
+ <primary>current_catalog</primary>
</indexterm>
<indexterm>
- <primary>schema</primary>
- <secondary>current</secondary>
+ <primary>current_database</primary>
</indexterm>
<indexterm>
- <primary>search path</primary>
- <secondary>current</secondary>
+ <primary>current_query</primary>
</indexterm>
<indexterm>
- <primary>current_catalog</primary>
+ <primary>current_schema</primary>
</indexterm>
<indexterm>
- <primary>current_database</primary>
+ <primary>current_schemas</primary>
</indexterm>
<indexterm>
- <primary>current_schema</primary>
+ <primary>current_user</primary>
+ </indexterm>
+
+ <indexterm>
+ <primary>pg_backend_pid</primary>
+ </indexterm>
+
+ <indexterm>
+ <primary>schema</primary>
+ <secondary>current</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>search path</primary>
+ <secondary>current</secondary>
+ </indexterm>
+
+ <indexterm>
+ <primary>user</primary>
+ <secondary>current</secondary>
</indexterm>
<indexterm>
- <primary>current_user</primary>
+ <primary>user</primary>
</indexterm>
<para>
<entry>is function visible in search path</entry>
</row>
<row>
- <entry><literal><function>pg_operator_is_visible(<parameter>operator_oid</parameter>)</function></literal>
+ <entry><literal><function>pg_opclass_is_visible(<parameter>opclass_oid</parameter>)</function></literal>
</entry>
<entry><type>boolean</type></entry>
- <entry>is operator visible in search path</entry>
+ <entry>is operator class visible in search path</entry>
</row>
<row>
- <entry><literal><function>pg_opclass_is_visible(<parameter>opclass_oid</parameter>)</function></literal>
+ <entry><literal><function>pg_operator_is_visible(<parameter>operator_oid</parameter>)</function></literal>
</entry>
<entry><type>boolean</type></entry>
- <entry>is operator class visible in search path</entry>
+ <entry>is operator visible in search path</entry>
</row>
<row>
<entry><literal><function>pg_table_is_visible(<parameter>table_oid</parameter>)</function></literal>
<primary>pg_function_is_visible</primary>
</indexterm>
<indexterm>
- <primary>pg_operator_is_visible</primary>
+ <primary>pg_opclass_is_visible</primary>
</indexterm>
<indexterm>
- <primary>pg_opclass_is_visible</primary>
+ <primary>pg_operator_is_visible</primary>
</indexterm>
<indexterm>
<primary>pg_table_is_visible</primary>
</indexterm>
<indexterm>
- <primary>pg_get_keywords</primary>
- </indexterm>
-
- <indexterm>
- <primary>pg_get_viewdef</primary>
+ <primary>pg_get_constraintdef</primary>
</indexterm>
<indexterm>
- <primary>pg_get_ruledef</primary>
+ <primary>pg_get_expr</primary>
</indexterm>
<indexterm>
</indexterm>
<indexterm>
- <primary>pg_get_triggerdef</primary>
+ <primary>pg_get_keywords</primary>
</indexterm>
<indexterm>
- <primary>pg_get_constraintdef</primary>
+ <primary>pg_get_ruledef</primary>
</indexterm>
<indexterm>
- <primary>pg_get_expr</primary>
+ <primary>pg_get_serial_sequence</primary>
+ </indexterm>
+
+ <indexterm>
+ <primary>pg_get_triggerdef</primary>
</indexterm>
<indexterm>
</indexterm>
<indexterm>
- <primary>pg_get_serial_sequence</primary>
+ <primary>pg_get_viewdef</primary>
</indexterm>
<indexterm>
<entry><type>text</type></entry>
<entry>get SQL name of a data type</entry>
</row>
- <row>
- <entry><literal><function>pg_get_keywords()</function></literal></entry>
- <entry><type>setof record</type></entry>
- <entry>get list of SQL keywords and their categories</entry>
- </row>
<row>
<entry><literal><function>pg_get_constraintdef(<parameter>constraint_oid</parameter>)</function></literal></entry>
<entry><type>text</type></entry>
or definition of just one index column when
<parameter>column_no</> is not zero</entry>
</row>
+ <row>
+ <entry><literal><function>pg_get_keywords()</function></literal></entry>
+ <entry><type>setof record</type></entry>
+ <entry>get list of SQL keywords and their categories</entry>
+ </row>
<row>
<entry><literal><function>pg_get_ruledef(<parameter>rule_oid</parameter>)</function></literal></entry>
<entry><type>text</type></entry>
</indexterm>
<indexterm>
- <primary>txid_snapshot_xmin</primary>
+ <primary>txid_snapshot_xip</primary>
</indexterm>
<indexterm>
</indexterm>
<indexterm>
- <primary>txid_snapshot_xip</primary>
+ <primary>txid_snapshot_xmin</primary>
</indexterm>
<indexterm>
<entry>get current snapshot</entry>
</row>
<row>
- <entry><literal><function>txid_snapshot_xmin(<parameter>txid_snapshot</parameter>)</function></literal></entry>
- <entry><type>bigint</type></entry>
- <entry>get xmin of snapshot</entry>
+ <entry><literal><function>txid_snapshot_xip(<parameter>txid_snapshot</parameter>)</function></literal></entry>
+ <entry><type>setof bigint</type></entry>
+ <entry>get in-progress transaction IDs in snapshot</entry>
</row>
<row>
<entry><literal><function>txid_snapshot_xmax(<parameter>txid_snapshot</parameter>)</function></literal></entry>
<entry>get xmax of snapshot</entry>
</row>
<row>
- <entry><literal><function>txid_snapshot_xip(<parameter>txid_snapshot</parameter>)</function></literal></entry>
- <entry><type>setof bigint</type></entry>
- <entry>get in-progress transaction IDs in snapshot</entry>
+ <entry><literal><function>txid_snapshot_xmin(<parameter>txid_snapshot</parameter>)</function></literal></entry>
+ <entry><type>bigint</type></entry>
+ <entry>get xmin of snapshot</entry>
</row>
<row>
<entry><literal><function>txid_visible_in_snapshot(<parameter>bigint</parameter>, <parameter>txid_snapshot</parameter>)</function></literal></entry>
<tbody>
<row>
<entry>
+ <indexterm>
+ <primary>current_setting</primary>
+ </indexterm>
<literal><function>current_setting(<parameter>setting_name</parameter>)</function></literal>
</entry>
<entry><type>text</type></entry>
</row>
<row>
<entry>
+ <indexterm>
+ <primary>set_config</primary>
+ </indexterm>
<literal><function>set_config(<parameter>setting_name</parameter>,
<parameter>new_value</parameter>,
<parameter>is_local</parameter>)</function></literal>
<indexterm>
<primary>pg_cancel_backend</primary>
</indexterm>
- <indexterm>
- <primary>pg_terminate_backend</primary>
- </indexterm>
<indexterm>
<primary>pg_reload_conf</primary>
</indexterm>
<indexterm>
<primary>pg_rotate_logfile</primary>
</indexterm>
+ <indexterm>
+ <primary>pg_terminate_backend</primary>
+ </indexterm>
<indexterm>
<primary>signal</primary>
</row>
<row>
<entry>
- <literal><function>pg_terminate_backend(<parameter>pid</parameter> <type>int</>)</function></literal>
+ <literal><function>pg_reload_conf()</function></literal>
</entry>
<entry><type>boolean</type></entry>
- <entry>Terminate a backend</entry>
+ <entry>Cause server processes to reload their configuration files</entry>
</row>
<row>
<entry>
- <literal><function>pg_reload_conf()</function></literal>
+ <literal><function>pg_rotate_logfile()</function></literal>
</entry>
<entry><type>boolean</type></entry>
- <entry>Cause server processes to reload their configuration files</entry>
+ <entry>Rotate server's log file</entry>
</row>
<row>
<entry>
- <literal><function>pg_rotate_logfile()</function></literal>
+ <literal><function>pg_terminate_backend(<parameter>pid</parameter> <type>int</>)</function></literal>
</entry>
<entry><type>boolean</type></entry>
- <entry>Rotate server's log file</entry>
+ <entry>Terminate a backend</entry>
</row>
</tbody>
</tgroup>
</para>
<indexterm>
- <primary>pg_start_backup</primary>
+ <primary>backup</primary>
</indexterm>
<indexterm>
- <primary>pg_stop_backup</primary>
+ <primary>pg_current_xlog_insert_location</primary>
</indexterm>
<indexterm>
- <primary>pg_switch_xlog</primary>
+ <primary>pg_current_xlog_location</primary>
</indexterm>
<indexterm>
- <primary>pg_current_xlog_location</primary>
+ <primary>pg_start_backup</primary>
</indexterm>
<indexterm>
- <primary>pg_current_xlog_insert_location</primary>
+ <primary>pg_stop_backup</primary>
</indexterm>
<indexterm>
- <primary>pg_xlogfile_name_offset</primary>
+ <primary>pg_switch_xlog</primary>
</indexterm>
<indexterm>
<primary>pg_xlogfile_name</primary>
</indexterm>
<indexterm>
- <primary>backup</primary>
+ <primary>pg_xlogfile_name_offset</primary>
</indexterm>
<para>
<tbody>
<row>
<entry>
- <literal><function>pg_start_backup(<parameter>label</> <type>text</> <optional>, <parameter>fast</> <type>boolean</> </optional>)</function></literal>
+ <literal><function>pg_current_xlog_insert_location()</function></literal>
</entry>
<entry><type>text</type></entry>
- <entry>Prepare for performing on-line backup</entry>
+ <entry>Get current transaction log insert location</entry>
</row>
<row>
<entry>
- <literal><function>pg_stop_backup()</function></literal>
+ <literal><function>pg_current_xlog_location()</function></literal>
</entry>
<entry><type>text</type></entry>
- <entry>Finish performing on-line backup</entry>
+ <entry>Get current transaction log write location</entry>
</row>
<row>
<entry>
- <literal><function>pg_switch_xlog()</function></literal>
+ <literal><function>pg_start_backup(<parameter>label</> <type>text</> <optional>, <parameter>fast</> <type>boolean</> </optional>)</function></literal>
</entry>
<entry><type>text</type></entry>
- <entry>Force switch to a new transaction log file</entry>
+ <entry>Prepare for performing on-line backup</entry>
</row>
<row>
<entry>
- <literal><function>pg_current_xlog_location()</function></literal>
+ <literal><function>pg_stop_backup()</function></literal>
</entry>
<entry><type>text</type></entry>
- <entry>Get current transaction log write location</entry>
+ <entry>Finish performing on-line backup</entry>
</row>
<row>
<entry>
- <literal><function>pg_current_xlog_insert_location()</function></literal>
+ <literal><function>pg_switch_xlog()</function></literal>
</entry>
<entry><type>text</type></entry>
- <entry>Get current transaction log insert location</entry>
+ <entry>Force switch to a new transaction log file</entry>
</row>
<row>
<entry>
- <literal><function>pg_xlogfile_name_offset(<parameter>location</> <type>text</>)</function></literal>
+ <literal><function>pg_xlogfile_name(<parameter>location</> <type>text</>)</function></literal>
</entry>
- <entry><type>text</>, <type>integer</></entry>
- <entry>Convert transaction log location string to file name and decimal byte offset within file</entry>
+ <entry><type>text</type></entry>
+ <entry>Convert transaction log location string to file name</entry>
</row>
<row>
<entry>
- <literal><function>pg_xlogfile_name(<parameter>location</> <type>text</>)</function></literal>
+ <literal><function>pg_xlogfile_name_offset(<parameter>location</> <type>text</>)</function></literal>
</entry>
- <entry><type>text</type></entry>
- <entry>Convert transaction log location string to file name</entry>
+ <entry><type>text</>, <type>integer</></entry>
+ <entry>Convert transaction log location string to file name and decimal byte offset within file</entry>
</row>
</tbody>
</tgroup>
<primary>pg_column_size</primary>
</indexterm>
<indexterm>
- <primary>pg_total_relation_size</primary>
+ <primary>pg_database_size</primary>
</indexterm>
<indexterm>
- <primary>pg_table_size</primary>
+ <primary>pg_indexes_size</primary>
</indexterm>
<indexterm>
- <primary>pg_indexes_size</primary>
+ <primary>pg_relation_size</primary>
</indexterm>
<indexterm>
- <primary>pg_database_size</primary>
+ <primary>pg_size_pretty</primary>
</indexterm>
<indexterm>
- <primary>pg_tablespace_size</primary>
+ <primary>pg_table_size</primary>
</indexterm>
<indexterm>
- <primary>pg_relation_size</primary>
+ <primary>pg_tablespace_size</primary>
</indexterm>
<indexterm>
- <primary>pg_size_pretty</primary>
+ <primary>pg_total_relation_size</primary>
</indexterm>
<table id="functions-admin-dbsize">
</row>
<row>
<entry>
- <literal><function>pg_total_relation_size(<type>regclass</type>)</function></literal>
+ <literal><function>pg_database_size(<type>oid</type>)</function></literal>
</entry>
<entry><type>bigint</type></entry>
- <entry>
- Total disk space used by the table with the specified OID or name,
- including all indexes and <acronym>TOAST</> data
- </entry>
+ <entry>Disk space used by the database with the specified OID</entry>
</row>
<row>
<entry>
- <literal><function>pg_table_size(<type>regclass</type>)</function></literal>
+ <literal><function>pg_database_size(<type>name</type>)</function></literal>
</entry>
<entry><type>bigint</type></entry>
- <entry>
- Disk space used by the table with the specified OID or name,
- excluding indexes (but including TOAST, free space map, and visibility
- map)
- </entry>
+ <entry>Disk space used by the database with the specified name</entry>
</row>
<row>
<entry>
</row>
<row>
<entry>
- <literal><function>pg_database_size(<type>oid</type>)</function></literal>
+ <literal><function>pg_relation_size(<parameter>relation</parameter> <type>regclass</type>, <parameter>fork</parameter> <type>text</type>)</function></literal>
</entry>
<entry><type>bigint</type></entry>
- <entry>Disk space used by the database with the specified OID</entry>
+ <entry>
+ Disk space used by the specified fork (<literal>'main'</literal>,
+ <literal>'fsm'</literal> or <literal>'vm'</>)
+ of the table or index with the specified OID or name
+ </entry>
</row>
<row>
<entry>
- <literal><function>pg_database_size(<type>name</type>)</function></literal>
+ <literal><function>pg_relation_size(<parameter>relation</parameter> <type>regclass</type>)</function></literal>
</entry>
<entry><type>bigint</type></entry>
- <entry>Disk space used by the database with the specified name</entry>
+ <entry>
+ Shorthand for <literal>pg_relation_size(..., 'main')</literal>
+ </entry>
</row>
<row>
<entry>
- <literal><function>pg_tablespace_size(<type>oid</type>)</function></literal>
+ <literal><function>pg_size_pretty(<type>bigint</type>)</function></literal>
</entry>
- <entry><type>bigint</type></entry>
- <entry>Disk space used by the tablespace with the specified OID</entry>
+ <entry><type>text</type></entry>
+ <entry>Converts a size in bytes into a human-readable format with size units</entry>
</row>
<row>
<entry>
- <literal><function>pg_tablespace_size(<type>name</type>)</function></literal>
+ <literal><function>pg_table_size(<type>regclass</type>)</function></literal>
</entry>
<entry><type>bigint</type></entry>
- <entry>Disk space used by the tablespace with the specified name</entry>
+ <entry>
+ Disk space used by the table with the specified OID or name,
+ excluding indexes (but including TOAST, free space map, and visibility
+ map)
+ </entry>
</row>
<row>
<entry>
- <literal><function>pg_relation_size(<parameter>relation</parameter> <type>regclass</type>, <parameter>fork</parameter> <type>text</type>)</function></literal>
+ <literal><function>pg_tablespace_size(<type>oid</type>)</function></literal>
</entry>
<entry><type>bigint</type></entry>
- <entry>
- Disk space used by the specified fork (<literal>'main'</literal>,
- <literal>'fsm'</literal> or <literal>'vm'</>)
- of the table or index with the specified OID or name
- </entry>
+ <entry>Disk space used by the tablespace with the specified OID</entry>
</row>
<row>
<entry>
- <literal><function>pg_relation_size(<parameter>relation</parameter> <type>regclass</type>)</function></literal>
+ <literal><function>pg_tablespace_size(<type>name</type>)</function></literal>
</entry>
<entry><type>bigint</type></entry>
- <entry>
- Shorthand for <literal>pg_relation_size(..., 'main')</literal>
- </entry>
+ <entry>Disk space used by the tablespace with the specified name</entry>
</row>
<row>
<entry>
- <literal><function>pg_size_pretty(<type>bigint</type>)</function></literal>
+ <literal><function>pg_total_relation_size(<type>regclass</type>)</function></literal>
</entry>
- <entry><type>text</type></entry>
- <entry>Converts a size in bytes into a human-readable format with size units</entry>
+ <entry><type>bigint</type></entry>
+ <entry>
+ Total disk space used by the table with the specified OID or name,
+ including all indexes and <acronym>TOAST</> data
+ </entry>
</row>
</tbody>
</tgroup>
<entry><type>void</type></entry>
<entry>Obtain exclusive advisory lock</entry>
</row>
-
<row>
<entry>
<literal><function>pg_advisory_lock_shared(<parameter>key</> <type>bigint</>)</function></literal>
<entry><type>void</type></entry>
<entry>Obtain shared advisory lock</entry>
</row>
-
<row>
<entry>
- <literal><function>pg_try_advisory_lock(<parameter>key</> <type>bigint</>)</function></literal>
+ <literal><function>pg_advisory_unlock(<parameter>key</> <type>bigint</>)</function></literal>
</entry>
<entry><type>boolean</type></entry>
- <entry>Obtain exclusive advisory lock if available</entry>
+ <entry>Release an exclusive advisory lock</entry>
</row>
<row>
<entry>
- <literal><function>pg_try_advisory_lock(<parameter>key1</> <type>int</>, <parameter>key2</> <type>int</>)</function></literal>
+ <literal><function>pg_advisory_unlock(<parameter>key1</> <type>int</>, <parameter>key2</> <type>int</>)</function></literal>
</entry>
<entry><type>boolean</type></entry>
- <entry>Obtain exclusive advisory lock if available</entry>
+ <entry>Release an exclusive advisory lock</entry>
</row>
-
<row>
<entry>
- <literal><function>pg_try_advisory_lock_shared(<parameter>key</> <type>bigint</>)</function></literal>
+ <literal><function>pg_advisory_unlock_all()</function></literal>
</entry>
- <entry><type>boolean</type></entry>
- <entry>Obtain shared advisory lock if available</entry>
+ <entry><type>void</type></entry>
+ <entry>Release all advisory locks held by the current session</entry>
</row>
<row>
<entry>
- <literal><function>pg_try_advisory_lock_shared(<parameter>key1</> <type>int</>, <parameter>key2</> <type>int</>)</function></literal>
+ <literal><function>pg_advisory_unlock_shared(<parameter>key</> <type>bigint</>)</function></literal>
</entry>
<entry><type>boolean</type></entry>
- <entry>Obtain shared advisory lock if available</entry>
+ <entry>Release a shared advisory lock</entry>
</row>
-
<row>
<entry>
- <literal><function>pg_advisory_unlock(<parameter>key</> <type>bigint</>)</function></literal>
+ <literal><function>pg_advisory_unlock_shared(<parameter>key1</> <type>int</>, <parameter>key2</> <type>int</>)</function></literal>
</entry>
<entry><type>boolean</type></entry>
- <entry>Release an exclusive advisory lock</entry>
+ <entry>Release a shared advisory lock</entry>
</row>
<row>
<entry>
- <literal><function>pg_advisory_unlock(<parameter>key1</> <type>int</>, <parameter>key2</> <type>int</>)</function></literal>
+ <literal><function>pg_try_advisory_lock(<parameter>key</> <type>bigint</>)</function></literal>
</entry>
<entry><type>boolean</type></entry>
- <entry>Release an exclusive advisory lock</entry>
+ <entry>Obtain exclusive advisory lock if available</entry>
</row>
-
<row>
<entry>
- <literal><function>pg_advisory_unlock_shared(<parameter>key</> <type>bigint</>)</function></literal>
+ <literal><function>pg_try_advisory_lock(<parameter>key1</> <type>int</>, <parameter>key2</> <type>int</>)</function></literal>
</entry>
<entry><type>boolean</type></entry>
- <entry>Release a shared advisory lock</entry>
+ <entry>Obtain exclusive advisory lock if available</entry>
</row>
<row>
<entry>
- <literal><function>pg_advisory_unlock_shared(<parameter>key1</> <type>int</>, <parameter>key2</> <type>int</>)</function></literal>
+ <literal><function>pg_try_advisory_lock_shared(<parameter>key</> <type>bigint</>)</function></literal>
</entry>
<entry><type>boolean</type></entry>
- <entry>Release a shared advisory lock</entry>
+ <entry>Obtain shared advisory lock if available</entry>
</row>
-
<row>
<entry>
- <literal><function>pg_advisory_unlock_all()</function></literal>
+ <literal><function>pg_try_advisory_lock_shared(<parameter>key1</> <type>int</>, <parameter>key2</> <type>int</>)</function></literal>
</entry>
- <entry><type>void</type></entry>
- <entry>Release all advisory locks held by the current session</entry>
+ <entry><type>boolean</type></entry>
+ <entry>Obtain shared advisory lock if available</entry>
</row>
-
</tbody>
</tgroup>
</table>