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.

29 lines
4.7KB

  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>Chapter 41. Procedural Languages</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="rules-triggers.html" title="40.7. Rules Versus Triggers" /><link rel="next" href="xplang-install.html" title="41.1. Installing Procedural Languages" /></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">Chapter 41. Procedural Languages</th></tr><tr><td width="10%" align="left"><a accesskey="p" href="rules-triggers.html" title="40.7. Rules Versus Triggers">Prev</a> </td><td width="10%" align="left"><a accesskey="u" href="server-programming.html" title="Part V. Server Programming">Up</a></td><th width="60%" align="center">Part V. Server Programming</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="xplang-install.html" title="41.1. Installing Procedural Languages">Next</a></td></tr></table><hr></hr></div><div class="chapter" id="XPLANG"><div class="titlepage"><div><div><h2 class="title">Chapter 41. Procedural Languages</h2></div></div></div><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="sect1"><a href="xplang-install.html">41.1. Installing Procedural Languages</a></span></dt></dl></div><a id="id-1.8.7.2" class="indexterm"></a><p>
  3. <span class="productname">PostgreSQL</span> allows user-defined functions
  4. to be written in other languages besides SQL and C. These other
  5. languages are generically called <em class="firstterm">procedural
  6. languages</em> (<acronym class="acronym">PL</acronym>s). For a function
  7. written in a procedural language, the database server has
  8. no built-in knowledge about how to interpret the function's source
  9. text. Instead, the task is passed to a special handler that knows
  10. the details of the language. The handler could either do all the
  11. work of parsing, syntax analysis, execution, etc. itself, or it
  12. could serve as <span class="quote">“<span class="quote">glue</span>”</span> between
  13. <span class="productname">PostgreSQL</span> and an existing implementation
  14. of a programming language. The handler itself is a
  15. C language function compiled into a shared object and
  16. loaded on demand, just like any other C function.
  17. </p><p>
  18. There are currently four procedural languages available in the
  19. standard <span class="productname">PostgreSQL</span> distribution:
  20. <span class="application">PL/pgSQL</span> (<a class="xref" href="plpgsql.html" title="Chapter 42. PL/pgSQL - SQL Procedural Language">Chapter 42</a>),
  21. <span class="application">PL/Tcl</span> (<a class="xref" href="pltcl.html" title="Chapter 43. PL/Tcl - Tcl Procedural Language">Chapter 43</a>),
  22. <span class="application">PL/Perl</span> (<a class="xref" href="plperl.html" title="Chapter 44. PL/Perl - Perl Procedural Language">Chapter 44</a>), and
  23. <span class="application">PL/Python</span> (<a class="xref" href="plpython.html" title="Chapter 45. PL/Python - Python Procedural Language">Chapter 45</a>).
  24. There are additional procedural languages available that are not
  25. included in the core distribution. <a class="xref" href="external-projects.html" title="Appendix H. External Projects">Appendix H</a>
  26. has information about finding them. In addition other languages can
  27. be defined by users; the basics of developing a new procedural
  28. language are covered in <a class="xref" href="plhandler.html" title="Chapter 55. Writing a Procedural Language Handler">Chapter 55</a>.
  29. </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="rules-triggers.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="server-programming.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="xplang-install.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">40.7. Rules Versus Triggers </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> 41.1. Installing Procedural Languages</td></tr></table></div></body></html>
上海开阖软件有限公司 沪ICP备12045867号-1