diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index 75e614a4256..6fa708a9439 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -1,5 +1,5 @@ @@ -4191,18 +4191,18 @@ SELECT NULLIF(value, '(none)') ... - current_user - name + current_user + name user name of current execution context - session_user - name + session_user + name session user name - user - name + user + name equivalent to current_user @@ -4216,7 +4216,7 @@ SELECT NULLIF(value, '(none)') ... The session_user is the user that initiated a database - connection and is fixed for the duration of that connection. The + connection; it is fixed for the duration of that connection. The current_user is the user identifier that is applicable for permission checking. Currently it is always equal to the session user, but in the future there might be setuid functions and @@ -4226,7 +4226,7 @@ SELECT NULLIF(value, '(none)') ... - Note that these functions have special syntactic status in SQL; + Note that these functions have special syntactic status in SQL: they must be called without trailing parentheses. @@ -4238,6 +4238,32 @@ SELECT NULLIF(value, '(none)') ... + + System Information Functions</> + <tgroup cols="3"> + <thead> + <row><entry>Name</> <entry>Return Type</> <entry>Description</></row> + </thead> + + <tbody> + <row> + <entry><function>version</></entry> + <entry><type>text</></entry> + <entry>PostgreSQL version information</> + </row> + </tbody> + </tgroup> + </table> + + <indexterm zone="functions-misc"> + <primary>version</primary> + </indexterm> + + <para> + <function>version()</> returns a string describing the PostgreSQL + server's version. + </para> + <table> <title>Access Privilege Inquiry Functions</> <tgroup cols="3"> @@ -4272,7 +4298,9 @@ SELECT NULLIF(value, '(none)') ... <para> <function>has_table_privilege</> determines whether a user can access a table in a particular way. The user can be - specified by name or by ID (<classname>pg_user</>.<structfield>usesysid</>) or if the argument is omitted + specified by name or by ID + (<classname>pg_user</>.<structfield>usesysid</>), or if the argument is + omitted <function>current_user</> is assumed. The table can be specified by name or by OID. (Thus, there are actually six variants of <function>has_table_privilege</>, which can be distinguished by @@ -4284,7 +4312,7 @@ SELECT NULLIF(value, '(none)') ... </para> <table> - <title>System Information Functions</> + <title>Catalog Information Functions</> <tgroup cols="3"> <thead> <row><entry>Name</> <entry>Return Type</> <entry>Description</></row> @@ -4292,21 +4320,53 @@ SELECT NULLIF(value, '(none)') ... <tbody> <row> - <entry>version</> - <entry>text</> - <entry>PostgreSQL version information</> + <entry><function>pg_get_viewdef</>(<parameter>viewname</parameter>)</entry> + <entry><type>text</></entry> + <entry>Get CREATE VIEW command for view</> + </row> + <row> + <entry><function>pg_get_ruledef</>(<parameter>rulename</parameter>)</entry> + <entry><type>text</></entry> + <entry>Get CREATE RULE command for rule</> + </row> + <row> + <entry><function>pg_get_indexdef</>(<parameter>indexOID</parameter>)</entry> + <entry><type>text</></entry> + <entry>Get CREATE INDEX command for index</> + </row> + <row> + <entry><function>pg_get_userbyid</>(<parameter>userid</parameter>)</entry> + <entry><type>name</></entry> + <entry>Get user name given sysid</> </row> </tbody> </tgroup> </table> <indexterm zone="functions-misc"> - <primary>version</primary> + <primary>pg_get_viewdef</primary> + </indexterm> + + <indexterm zone="functions-misc"> + <primary>pg_get_ruledef</primary> + </indexterm> + + <indexterm zone="functions-misc"> + <primary>pg_get_indexdef</primary> + </indexterm> + + <indexterm zone="functions-misc"> + <primary>pg_get_userbyid</primary> </indexterm> <para> - <function>version()</> returns a string describing the PostgreSQL - server's version. + These functions extract information from the system catalogs. + <function>pg_get_viewdef()</>, <function>pg_get_ruledef()</>, and + <function>pg_get_indexdef()</> respectively reconstruct the creating + command for a view, rule, or index. (Note that this is a decompiled + reconstruction, not the verbatim text of the command.) + <function>pg_get_userbyid()</> extracts a user's name given a + <structfield>usesysid</> value. </para> </sect1>