gooderp18绿色标准版
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

83 lines
22KB

  1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>36.41. routines</title><link rel="stylesheet" type="text/css" href="stylesheet.css" /><link rev="made" href="pgsql-docs@lists.postgresql.org" /><meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /><link rel="prev" href="infoschema-routine-privileges.html" title="36.40. routine_privileges" /><link rel="next" href="infoschema-schemata.html" title="36.42. schemata" /></head><body><div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="5" align="center">36.41. <code xmlns="http://www.w3.org/1999/xhtml" class="literal">routines</code></th></tr><tr><td width="10%" align="left"><a accesskey="p" href="infoschema-routine-privileges.html" title="36.40. routine_privileges">Prev</a> </td><td width="10%" align="left"><a accesskey="u" href="information-schema.html" title="Chapter 36. The Information Schema">Up</a></td><th width="60%" align="center">Chapter 36. The Information Schema</th><td width="10%" align="right"><a accesskey="h" href="index.html" title="PostgreSQL 12.4 Documentation">Home</a></td><td width="10%" align="right"> <a accesskey="n" href="infoschema-schemata.html" title="36.42. schemata">Next</a></td></tr></table><hr></hr></div><div class="sect1" id="INFOSCHEMA-ROUTINES"><div class="titlepage"><div><div><h2 class="title" style="clear: both">36.41. <code class="literal">routines</code></h2></div></div></div><p>
  3. The view <code class="literal">routines</code> contains all functions and procedures in the
  4. current database. Only those functions and procedures are shown that the current
  5. user has access to (by way of being the owner or having some
  6. privilege).
  7. </p><div class="table" id="id-1.7.6.45.3"><p class="title"><strong>Table 36.39. <code class="literal">routines</code> Columns</strong></p><div class="table-contents"><table class="table" summary="routines Columns" border="1"><colgroup><col /><col /><col /></colgroup><thead><tr><th>Name</th><th>Data Type</th><th>Description</th></tr></thead><tbody><tr><td><code class="literal">specific_catalog</code></td><td><code class="type">sql_identifier</code></td><td>Name of the database containing the function (always the current database)</td></tr><tr><td><code class="literal">specific_schema</code></td><td><code class="type">sql_identifier</code></td><td>Name of the schema containing the function</td></tr><tr><td><code class="literal">specific_name</code></td><td><code class="type">sql_identifier</code></td><td>
  8. The <span class="quote">“<span class="quote">specific name</span>”</span> of the function. This is a
  9. name that uniquely identifies the function in the schema, even
  10. if the real name of the function is overloaded. The format of
  11. the specific name is not defined, it should only be used to
  12. compare it to other instances of specific routine names.
  13. </td></tr><tr><td><code class="literal">routine_catalog</code></td><td><code class="type">sql_identifier</code></td><td>Name of the database containing the function (always the current database)</td></tr><tr><td><code class="literal">routine_schema</code></td><td><code class="type">sql_identifier</code></td><td>Name of the schema containing the function</td></tr><tr><td><code class="literal">routine_name</code></td><td><code class="type">sql_identifier</code></td><td>Name of the function (might be duplicated in case of overloading)</td></tr><tr><td><code class="literal">routine_type</code></td><td><code class="type">character_data</code></td><td>
  14. <code class="literal">FUNCTION</code> for a
  15. function, <code class="literal">PROCEDURE</code> for a procedure
  16. </td></tr><tr><td><code class="literal">module_catalog</code></td><td><code class="type">sql_identifier</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">module_schema</code></td><td><code class="type">sql_identifier</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">module_name</code></td><td><code class="type">sql_identifier</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">udt_catalog</code></td><td><code class="type">sql_identifier</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">udt_schema</code></td><td><code class="type">sql_identifier</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">udt_name</code></td><td><code class="type">sql_identifier</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">data_type</code></td><td><code class="type">character_data</code></td><td>
  17. Return data type of the function, if it is a built-in type, or
  18. <code class="literal">ARRAY</code> if it is some array (in that case, see
  19. the view <code class="literal">element_types</code>), else
  20. <code class="literal">USER-DEFINED</code> (in that case, the type is
  21. identified in <code class="literal">type_udt_name</code> and associated
  22. columns). Null for a procedure.
  23. </td></tr><tr><td><code class="literal">character_maximum_length</code></td><td><code class="type">cardinal_number</code></td><td>Always null, since this information is not applied to return data types in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">character_octet_length</code></td><td><code class="type">cardinal_number</code></td><td>Always null, since this information is not applied to return data types in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">character_set_catalog</code></td><td><code class="type">sql_identifier</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">character_set_schema</code></td><td><code class="type">sql_identifier</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">character_set_name</code></td><td><code class="type">sql_identifier</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">collation_catalog</code></td><td><code class="type">sql_identifier</code></td><td>Always null, since this information is not applied to return data types in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">collation_schema</code></td><td><code class="type">sql_identifier</code></td><td>Always null, since this information is not applied to return data types in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">collation_name</code></td><td><code class="type">sql_identifier</code></td><td>Always null, since this information is not applied to return data types in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">numeric_precision</code></td><td><code class="type">cardinal_number</code></td><td>Always null, since this information is not applied to return data types in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">numeric_precision_radix</code></td><td><code class="type">cardinal_number</code></td><td>Always null, since this information is not applied to return data types in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">numeric_scale</code></td><td><code class="type">cardinal_number</code></td><td>Always null, since this information is not applied to return data types in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">datetime_precision</code></td><td><code class="type">cardinal_number</code></td><td>Always null, since this information is not applied to return data types in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">interval_type</code></td><td><code class="type">character_data</code></td><td>Always null, since this information is not applied to return data types in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">interval_precision</code></td><td><code class="type">cardinal_number</code></td><td>Always null, since this information is not applied to return data types in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">type_udt_catalog</code></td><td><code class="type">sql_identifier</code></td><td>
  24. Name of the database that the return data type of the function
  25. is defined in (always the current database). Null for a procedure.
  26. </td></tr><tr><td><code class="literal">type_udt_schema</code></td><td><code class="type">sql_identifier</code></td><td>
  27. Name of the schema that the return data type of the function is
  28. defined in. Null for a procedure.
  29. </td></tr><tr><td><code class="literal">type_udt_name</code></td><td><code class="type">sql_identifier</code></td><td>
  30. Name of the return data type of the function. Null for a procedure.
  31. </td></tr><tr><td><code class="literal">scope_catalog</code></td><td><code class="type">sql_identifier</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">scope_schema</code></td><td><code class="type">sql_identifier</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">scope_name</code></td><td><code class="type">sql_identifier</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">maximum_cardinality</code></td><td><code class="type">cardinal_number</code></td><td>Always null, because arrays always have unlimited maximum cardinality in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">dtd_identifier</code></td><td><code class="type">sql_identifier</code></td><td>
  32. An identifier of the data type descriptor of the return data
  33. type of this function, unique among the data type descriptors
  34. pertaining to the function. This is mainly useful for joining
  35. with other instances of such identifiers. (The specific format
  36. of the identifier is not defined and not guaranteed to remain
  37. the same in future versions.)
  38. </td></tr><tr><td><code class="literal">routine_body</code></td><td><code class="type">character_data</code></td><td>
  39. If the function is an SQL function, then
  40. <code class="literal">SQL</code>, else <code class="literal">EXTERNAL</code>.
  41. </td></tr><tr><td><code class="literal">routine_definition</code></td><td><code class="type">character_data</code></td><td>
  42. The source text of the function (null if the function is not
  43. owned by a currently enabled role). (According to the SQL
  44. standard, this column is only applicable if
  45. <code class="literal">routine_body</code> is <code class="literal">SQL</code>, but
  46. in <span class="productname">PostgreSQL</span> it will contain
  47. whatever source text was specified when the function was
  48. created.)
  49. </td></tr><tr><td><code class="literal">external_name</code></td><td><code class="type">character_data</code></td><td>
  50. If this function is a C function, then the external name (link
  51. symbol) of the function; else null. (This works out to be the
  52. same value that is shown in
  53. <code class="literal">routine_definition</code>.)
  54. </td></tr><tr><td><code class="literal">external_language</code></td><td><code class="type">character_data</code></td><td>The language the function is written in</td></tr><tr><td><code class="literal">parameter_style</code></td><td><code class="type">character_data</code></td><td>
  55. Always <code class="literal">GENERAL</code> (The SQL standard defines
  56. other parameter styles, which are not available in <span class="productname">PostgreSQL</span>.)
  57. </td></tr><tr><td><code class="literal">is_deterministic</code></td><td><code class="type">yes_or_no</code></td><td>
  58. If the function is declared immutable (called deterministic in
  59. the SQL standard), then <code class="literal">YES</code>, else
  60. <code class="literal">NO</code>. (You cannot query the other volatility
  61. levels available in <span class="productname">PostgreSQL</span> through the information schema.)
  62. </td></tr><tr><td><code class="literal">sql_data_access</code></td><td><code class="type">character_data</code></td><td>
  63. Always <code class="literal">MODIFIES</code>, meaning that the function
  64. possibly modifies SQL data. This information is not useful for
  65. <span class="productname">PostgreSQL</span>.
  66. </td></tr><tr><td><code class="literal">is_null_call</code></td><td><code class="type">yes_or_no</code></td><td>
  67. If the function automatically returns null if any of its
  68. arguments are null, then <code class="literal">YES</code>, else
  69. <code class="literal">NO</code>. Null for a procedure.
  70. </td></tr><tr><td><code class="literal">sql_path</code></td><td><code class="type">character_data</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">schema_level_routine</code></td><td><code class="type">yes_or_no</code></td><td>
  71. Always <code class="literal">YES</code> (The opposite would be a method
  72. of a user-defined type, which is a feature not available in
  73. <span class="productname">PostgreSQL</span>.)
  74. </td></tr><tr><td><code class="literal">max_dynamic_result_sets</code></td><td><code class="type">cardinal_number</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">is_user_defined_cast</code></td><td><code class="type">yes_or_no</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">is_implicitly_invocable</code></td><td><code class="type">yes_or_no</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">security_type</code></td><td><code class="type">character_data</code></td><td>
  75. If the function runs with the privileges of the current user,
  76. then <code class="literal">INVOKER</code>, if the function runs with the
  77. privileges of the user who defined it, then
  78. <code class="literal">DEFINER</code>.
  79. </td></tr><tr><td><code class="literal">to_sql_specific_catalog</code></td><td><code class="type">sql_identifier</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">to_sql_specific_schema</code></td><td><code class="type">sql_identifier</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">to_sql_specific_name</code></td><td><code class="type">sql_identifier</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">as_locator</code></td><td><code class="type">yes_or_no</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">created</code></td><td><code class="type">time_stamp</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">last_altered</code></td><td><code class="type">time_stamp</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">new_savepoint_level</code></td><td><code class="type">yes_or_no</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">is_udt_dependent</code></td><td><code class="type">yes_or_no</code></td><td>
  80. Currently always <code class="literal">NO</code>. The alternative
  81. <code class="literal">YES</code> applies to a feature not available in
  82. <span class="productname">PostgreSQL</span>.
  83. </td></tr><tr><td><code class="literal">result_cast_from_data_type</code></td><td><code class="type">character_data</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">result_cast_as_locator</code></td><td><code class="type">yes_or_no</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">result_cast_char_max_length</code></td><td><code class="type">cardinal_number</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">result_cast_char_octet_length</code></td><td><code class="type">character_data</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">result_cast_char_set_catalog</code></td><td><code class="type">sql_identifier</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">result_cast_char_set_schema</code></td><td><code class="type">sql_identifier</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">result_cast_char_set_name</code></td><td><code class="type">sql_identifier</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">result_cast_collation_catalog</code></td><td><code class="type">sql_identifier</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">result_cast_collation_schema</code></td><td><code class="type">sql_identifier</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">result_cast_collation_name</code></td><td><code class="type">sql_identifier</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">result_cast_numeric_precision</code></td><td><code class="type">cardinal_number</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">result_cast_numeric_precision_radix</code></td><td><code class="type">cardinal_number</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">result_cast_numeric_scale</code></td><td><code class="type">cardinal_number</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">result_cast_datetime_precision</code></td><td><code class="type">character_data</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">result_cast_interval_type</code></td><td><code class="type">character_data</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">result_cast_interval_precision</code></td><td><code class="type">cardinal_number</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">result_cast_type_udt_catalog</code></td><td><code class="type">sql_identifier</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">result_cast_type_udt_schema</code></td><td><code class="type">sql_identifier</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">result_cast_type_udt_name</code></td><td><code class="type">sql_identifier</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">result_cast_scope_catalog</code></td><td><code class="type">sql_identifier</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">result_cast_scope_schema</code></td><td><code class="type">sql_identifier</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">result_cast_scope_name</code></td><td><code class="type">sql_identifier</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">result_cast_maximum_cardinality</code></td><td><code class="type">cardinal_number</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr><tr><td><code class="literal">result_cast_dtd_identifier</code></td><td><code class="type">sql_identifier</code></td><td>Applies to a feature not available in <span class="productname">PostgreSQL</span></td></tr></tbody></table></div></div><br class="table-break" /></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="infoschema-routine-privileges.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="information-schema.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="infoschema-schemata.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">36.40. <code class="literal">routine_privileges</code> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 36.42. <code class="literal">schemata</code></td></tr></table></div></body></html>
上海开阖软件有限公司 沪ICP备12045867号-1