summaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorPeter Eisentraut2003-06-05 16:08:47 +0000
committerPeter Eisentraut2003-06-05 16:08:47 +0000
commit7ea8e491c801d2e39ef56c1fb79442ab26abfa93 (patch)
tree39e452a449d1f8413d4629d3988d36a2038b837f /doc/src
parent1fed74f2576af8fe95d94c9a38ef2f125a916ad1 (diff)
Information schema views about functions
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/information_schema.sgml742
1 files changed, 741 insertions, 1 deletions
diff --git a/doc/src/sgml/information_schema.sgml b/doc/src/sgml/information_schema.sgml
index f866cf72789..82760ecdc44 100644
--- a/doc/src/sgml/information_schema.sgml
+++ b/doc/src/sgml/information_schema.sgml
@@ -1,4 +1,4 @@
-<!-- $Header: /cvsroot/pgsql/doc/src/sgml/information_schema.sgml,v 1.2 2003/05/25 09:36:09 petere Exp $ -->
+<!-- $Header: /cvsroot/pgsql/doc/src/sgml/information_schema.sgml,v 1.3 2003/06/05 16:08:47 petere Exp $ -->
<chapter id="information-schema">
<title>The Information Schema</title>
@@ -956,8 +956,246 @@
<row>
<entry><literal>dtd_identifier</literal></entry>
<entry><type>sql_identifier</type></entry>
+ <entry>
+ A unique identifier of the data type of the domain (The
+ specific format of the identifier is not defined and not
+ guaranteed to remain the same in future versions.)
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </sect1>
+
+ <sect1 id="infoschema-parameters">
+ <title><literal>parameters</literal></title>
+
+ <para>
+ The view <literal>parameters</literal> contains information about
+ the parameters (arguments) all functions in the current database.
+ Only those functions are shown that the current user has access to
+ (by way of being the owner or having some privilege).
+ </para>
+
+ <table>
+ <title><literal>parameters</literal> Columns</title>
+
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>Name</entry>
+ <entry>Data Type</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry><literal>specific_catalog</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Name of the database containing the function (always the current database)</entry>
+ </row>
+
+ <row>
+ <entry><literal>specific_schema</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Name of the schema containing the function</entry>
+ </row>
+
+ <row>
+ <entry><literal>specific_name</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>
+ The <quote>specific name</quote> of the function. See <xref
+ linkend="infoschema-routines"> for more information.
+ </entry>
+ </row>
+
+ <row>
+ <entry><literal>ordinal_position</literal></entry>
+ <entry><type>cardinal_number</type></entry>
+ <entry>
+ Ordinal position of the parameter in the argument list of the
+ function (count starts at 1)
+ </entry>
+ </row>
+
+ <row>
+ <entry><literal>parameter_mode</literal></entry>
+ <entry><type>character_data</type></entry>
+ <entry>
+ Always <literal>IN</literal>, meaning input parameter (In the
+ future there might be other parameter modes.)
+ </entry>
+ </row>
+
+ <row>
+ <entry><literal>is_result</literal></entry>
+ <entry><type>character_data</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>as_locator</literal></entry>
+ <entry><type>character_data</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>parameter_name</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Always null, since PostgreSQL does not support named parameters</entry>
+ </row>
+
+ <row>
+ <entry><literal>data_type</literal></entry>
+ <entry><type>character_data</type></entry>
+ <entry>Data type of the parameter</entry>
+ </row>
+
+ <row>
+ <entry><literal>character_maximum_length</literal></entry>
+ <entry><type>cardinal_number</type></entry>
+ <entry>Always null, since this information is not applied to parameter data types in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>character_octet_length</literal></entry>
+ <entry><type>cardinal_number</type></entry>
+ <entry>Always null, since this information is not applied to parameter data types in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>character_set_catalog</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>character_set_schema</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>character_set_name</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>collation_catalog</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>collation_schema</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>collation_name</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>numeric_precision</literal></entry>
+ <entry><type>cardinal_number</type></entry>
+ <entry>Always null, since this information is not applied to parameter data types in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>numeric_precision_radix</literal></entry>
+ <entry><type>cardinal_number</type></entry>
+ <entry>Always null, since this information is not applied to parameter data types in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>numeric_scale</literal></entry>
+ <entry><type>cardinal_number</type></entry>
+ <entry>Always null, since this information is not applied to parameter data types in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>datetime_precision</literal></entry>
+ <entry><type>cardinal_number</type></entry>
+ <entry>Always null, since this information is not applied to parameter data types in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>interval_type</literal></entry>
+ <entry><type>character_data</type></entry>
+ <entry>Always null, since this information is not applied to parameter data types in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>interval_precision</literal></entry>
+ <entry><type>character_data</type></entry>
+ <entry>Always null, since this information is not applied to parameter data types in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>udt_catalog</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>
+ Name of the database that the data type of the parameter is
+ defined in (always the current database)
+ </entry>
+ </row>
+
+ <row>
+ <entry><literal>udt_schema</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>
+ Name of the schema that the data type of the parameter is
+ defined in
+ </entry>
+ </row>
+
+ <row>
+ <entry><literal>udt_name</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>
+ Name of the data type of the parameter
+ </entry>
+ </row>
+
+ <row>
+ <entry><literal>scope_catalog</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>scope_schema</literal></entry>
+ <entry><type>sql_identifier</type></entry>
<entry>Applies to a feature not available in PostgreSQL</entry>
</row>
+
+ <row>
+ <entry><literal>scope_name</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>maximum_cardinality</literal></entry>
+ <entry><type>cardinal_number</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>dtd_identifier</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>
+ A unique identifier of the data type of the parameter (The
+ specific format of the identifier is not defined and not
+ guaranteed to remain the same in future versions.)
+ </entry>
+ </row>
</tbody>
</tgroup>
</table>
@@ -1067,6 +1305,508 @@
</table>
</sect1>
+ <sect1 id="infoschema-routine-privileges">
+ <title><literal>routine_privileges</literal></title>
+
+ <para>
+ The view <literal>routine_privileges</literal> identifies all
+ privileges granted on functions to the current user or by the
+ current user. There is one row for each combination of function,
+ grantor, and grantee.
+ </para>
+
+ <table>
+ <title><literal>routine_privileges</literal> Columns</title>
+
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>Name</entry>
+ <entry>Data Type</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry><literal>grantor</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Name of the user that granted the privileges</entry>
+ </row>
+
+ <row>
+ <entry><literal>grantee</literal</entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Name of the user that the privilege was granted to</entry>
+ </row>
+
+ <row>
+ <entry><literal>specific_catalog</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Name of the database containing the function (always the current database)</entry>
+ </row>
+
+ <row>
+ <entry><literal>specific_schema</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Name of the schema containing the function</entry>
+ </row>
+
+ <row>
+ <entry><literal>specific_name</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>
+ The <quote>specific name</quote> of the function. See <xref
+ linkend="infoschema-routines"> for more information.
+ </entry>
+ </row>
+
+ <row>
+ <entry><literal>routine_catalog</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Name of the database containing the function (always the current database)</entry>
+ </row>
+
+ <row>
+ <entry><literal>routine_schema</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Name of the schema containing the function</entry>
+ </row>
+
+ <row>
+ <entry><literal>routine_name</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Name of the function (may be duplicated in case of overloading)</entry>
+ </row>
+
+ <row>
+ <entry><literal>privilege_type</literal</entry>
+ <entry><type>character_data</type></entry>
+ <entry>Always <literal>EXECUTE</literal> (the only privilege type for functions)</entry>
+ </row>
+
+ <row>
+ <entry><literal>is_grantable</literal></entry>
+ <entry><type>character_data</type></entry>
+ <entry><literal>YES</literal> if the privilege is grantable, <literal>NO</literal> if not</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </sect1>
+
+ <sect1 id="infoschema-routines">
+ <title><literal>routines</literal></title>
+
+ <para>
+ The view <literal>routines</literal> contains all functions in the
+ current database. Only those functions are shown that the current
+ user has access to (by way of being the owner or having some
+ privilege).
+ </para>
+
+ <table>
+ <title><literal>routines</literal> Columns</title>
+
+ <tgroup cols="3">
+ <thead>
+ <row>
+ <entry>Name</entry>
+ <entry>Data Type</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry><literal>specific_catalog</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Name of the database containing the function (always the current database)</entry>
+ </row>
+
+ <row>
+ <entry><literal>specific_schema</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Name of the schema containing the function</entry>
+ </row>
+
+ <row>
+ <entry><literal>specific_name</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>
+ The <quote>specific name</quote> of the function. This is a
+ name that uniquely identifies the function in the schema, even
+ if the real name of the function is overloaded. The format of
+ the specific name is not defined, it should only be used to
+ compare it to other instances of specific routine names.
+ </entry>
+ </row>
+
+ <row>
+ <entry><literal>routine_catalog</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Name of the database containing the function (always the current database)</entry>
+ </row>
+
+ <row>
+ <entry><literal>routine_schema</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Name of the schema containing the function</entry>
+ </row>
+
+ <row>
+ <entry><literal>routine_name</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Name of the function (may be duplicated in case of overloading)</entry>
+ </row>
+
+ <row>
+ <entry><literal>routine_type</literal></entry>
+ <entry><type>character_data</type></entry>
+ <entry>
+ Always <literal>FUNCTION</literal> (In the future there might
+ be other types of routines.)
+ </entry>
+ </row>
+
+ <row>
+ <entry><literal>module_catalog</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>module_schema</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>module_name</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>udt_catalog</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>udt_schema</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>udt_name</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>data_type</literal></entry>
+ <entry><type>character_data</type></entry>
+ <entry>Return data type of the function</entry>
+ </row>
+
+ <row>
+ <entry><literal>character_maximum_length</literal></entry>
+ <entry><type>cardinal_number</type></entry>
+ <entry>Always null, since this information is not applied to return data types in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>character_octet_length</literal></entry>
+ <entry><type>cardinal_number</type></entry>
+ <entry>Always null, since this information is not applied to return data types in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>character_set_catalog</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>character_set_schema</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>character_set_name</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>collation_catalog</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>collation_schema</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>collation_name</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>numeric_precision</literal></entry>
+ <entry><type>cardinal_number</type></entry>
+ <entry>Always null, since this information is not applied to return data types in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>numeric_precision_radix</literal></entry>
+ <entry><type>cardinal_number</type></entry>
+ <entry>Always null, since this information is not applied to return data types in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>numeric_scale</literal></entry>
+ <entry><type>cardinal_number</type></entry>
+ <entry>Always null, since this information is not applied to return data types in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>datetime_precision</literal></entry>
+ <entry><type>cardinal_number</type></entry>
+ <entry>Always null, since this information is not applied to return data types in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>interval_type</literal></entry>
+ <entry><type>character_data</type></entry>
+ <entry>Always null, since this information is not applied to return data types in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>interval_precision</literal></entry>
+ <entry><type>character_data</type></entry>
+ <entry>Always null, since this information is not applied to return data types in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>type_udt_catalog</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>
+ Name of the database that the return data type of the function
+ is defined in (always the current database)
+ </entry>
+ </row>
+
+ <row>
+ <entry><literal>type_udt_schema</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>
+ Name of the schema that the return data type of the function is
+ defined in
+ </entry>
+ </row>
+
+ <row>
+ <entry><literal>type_udt_name</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>
+ Name of the return data type of the function
+ </entry>
+ </row>
+
+ <row>
+ <entry><literal>scope_catalog</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>scope_schema</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>scope_name</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>maximum_cardinality</literal></entry>
+ <entry><type>cardinal_number</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>dtd_identifier</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>
+ A unique identifier of the return data type of the function
+ (The specific format of the identifier is not defined and not
+ guaranteed to remain the same in future versions.)
+ </entry>
+ </row>
+
+ <row>
+ <entry><literal>routine_body</literal></entry>
+ <entry><type>character_data</type></entry>
+ <entry>
+ If the function is an SQL function, then
+ <literal>SQL</literal>, else <literal>EXTERNAL</literal>.
+ </entry>
+ </row>
+
+ <row>
+ <entry><literal>routine_definition</literal></entry>
+ <entry><type>character_data</type></entry>
+ <entry>
+ The source text of the function (null if the current user is
+ not the owner of the function). (According to the SQL
+ standard, this column is only applicable if
+ <literal>routine_body</literal> is <literal>SQL</literal>, but
+ in PostgreSQL it will contain whatever source text was
+ specified when the function was created.)
+ </entry>
+ </row>
+
+ <row>
+ <entry><literal>external_name</literal></entry>
+ <entry><type>character_data</type></entry>
+ <entry>
+ If this function is a C function, then the external name (link
+ symbol) of the function; else null. (This works out to be the
+ same value that is shown in
+ <literal>routine_definition</literal>.)
+ </entry>
+ </row>
+
+ <row>
+ <entry><literal>external_language</literal></entry>
+ <entry><type>character_data</type></entry>
+ <entry>The language the function is written in</entry>
+ </row>
+
+ <row>
+ <entry><literal>parameter_style</literal></entry>
+ <entry><type>character_data</type></entry>
+ <entry>
+ Always <literal>GENERAL</literal> (The SQL standard defines
+ other parameter styles, which are not available in PostgreSQL.)
+ </entry>
+ </row>
+
+ <row>
+ <entry><literal>is_deterministic</literal></entry>
+ <entry><type>character_data</type></entry>
+ <entry>
+ If the function is declared immutable (called deterministic in
+ the SQL standard), then <literal>YES</literal>, else
+ <literal>NO</literal>. (You cannot query the other volatility
+ levels available in PostgreSQL through the information schema.)
+ </entry>
+ </row>
+
+ <row>
+ <entry><literal>sql_data_access</literal></entry>
+ <entry><type>character_data</type></entry>
+ <entry>
+ Always <literal>MODIFIES</literal>, meaning that the function
+ possibly modifies SQL data. This information is not useful for
+ PostgreSQL.
+ </entry>
+ </row>
+
+ <row>
+ <entry><literal>is_null_call</literal></entry>
+ <entry><type>character_data</type></entry>
+ <entry>
+ If the function automatically returns null if any of its
+ arguments are null, then <literal>YES</literal>, else
+ <literal>NO</literal>.
+ </entry>
+ </row>
+
+ <row>
+ <entry><literal>sql_path</literal></entry>
+ <entry><type>character_data</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>schema_level_routine</literal></entry>
+ <entry><type>character_data</type></entry>
+ <entry>
+ Always <literal>YES</literal> (The opposite would be a method
+ of a user-defined type, which is a feature not available in
+ PostgreSQL.)
+ </entry>
+ </row>
+
+ <row>
+ <entry><literal>max_dynamic_result_sets</literal></entry>
+ <entry><type>cardinal_number</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>is_user_defined_cast</literal></entry>
+ <entry><type>character_data</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>is_implicitly_invocable</literal></entry>
+ <entry><type>character_data</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>security_type</literal></entry>
+ <entry><type>character_data</type></entry>
+ <entry>
+ If the function runs with the privileges of the current user,
+ then <literal>INVOKER</literal>, if the function runs with the
+ privileges of the user who defined it, then
+ <literal>DEFINER</literal>.
+ </entry>
+ </row>
+
+ <row>
+ <entry><literal>to_sql_specific_catalog</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>to_sql_specific_schema</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>to_sql_specific_name</literal></entry>
+ <entry><type>sql_identifier</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+
+ <row>
+ <entry><literal>as_locator</literal></entry>
+ <entry><type>character_data</type></entry>
+ <entry>Applies to a feature not available in PostgreSQL</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </sect1>
+
<sect1 id="infoschema-schemata">
<title><literal>schemata</literal></title>