diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 12:19:15 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-04 12:19:15 +0000 |
commit | 6eb9c5a5657d1fe77b55cc261450f3538d35a94d (patch) | |
tree | 657d8194422a5daccecfd42d654b8a245ef7b4c8 /doc/src/sgml/html/server-programming.html | |
parent | Initial commit. (diff) | |
download | postgresql-13-upstream.tar.xz postgresql-13-upstream.zip |
Adding upstream version 13.4.upstream/13.4upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'doc/src/sgml/html/server-programming.html')
-rw-r--r-- | doc/src/sgml/html/server-programming.html | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/doc/src/sgml/html/server-programming.html b/doc/src/sgml/html/server-programming.html new file mode 100644 index 0000000..51e10a5 --- /dev/null +++ b/doc/src/sgml/html/server-programming.html @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!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>Part V. Server Programming</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-views.html" title="36.62. views" /><link rel="next" href="extend.html" title="Chapter 37. Extending SQL" /></head><body id="docContent" class="container-fluid col-10"><div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="5" align="center">Part V. Server Programming</th></tr><tr><td width="10%" align="left"><a accesskey="p" href="infoschema-views.html" title="36.62. views">Prev</a> </td><td width="10%" align="left"><a accesskey="u" href="index.html" title="PostgreSQL 13.4 Documentation">Up</a></td><th width="60%" align="center">PostgreSQL 13.4 Documentation</th><td width="10%" align="right"><a accesskey="h" href="index.html" title="PostgreSQL 13.4 Documentation">Home</a></td><td width="10%" align="right"> <a accesskey="n" href="extend.html" title="Chapter 37. Extending SQL">Next</a></td></tr></table><hr></hr></div><div class="part" id="SERVER-PROGRAMMING"><div class="titlepage"><div><div><h1 class="title">Part V. Server Programming</h1></div></div></div><div class="partintro" id="id-1.8.2"><div></div><p> + This part is about extending the server functionality with + user-defined functions, data types, triggers, etc. These are + advanced topics which should probably be approached only after all + the other user documentation about <span class="productname">PostgreSQL</span> has + been understood. Later chapters in this part describe the server-side + programming languages available in the + <span class="productname">PostgreSQL</span> distribution as well as + general issues concerning server-side programming languages. It + is essential to read at least the earlier sections of <a class="xref" href="extend.html" title="Chapter 37. Extending SQL">Chapter 37</a> (covering functions) before diving into the + material about server-side programming languages. + </p><div class="toc"><p><strong>Table of Contents</strong></p><dl class="toc"><dt><span class="chapter"><a href="extend.html">37. Extending <acronym class="acronym">SQL</acronym></a></span></dt><dd><dl><dt><span class="sect1"><a href="extend-how.html">37.1. How Extensibility Works</a></span></dt><dt><span class="sect1"><a href="extend-type-system.html">37.2. The <span class="productname">PostgreSQL</span> Type System</a></span></dt><dt><span class="sect1"><a href="xfunc.html">37.3. User-Defined Functions</a></span></dt><dt><span class="sect1"><a href="xproc.html">37.4. User-Defined Procedures</a></span></dt><dt><span class="sect1"><a href="xfunc-sql.html">37.5. Query Language (<acronym class="acronym">SQL</acronym>) Functions</a></span></dt><dt><span class="sect1"><a href="xfunc-overload.html">37.6. Function Overloading</a></span></dt><dt><span class="sect1"><a href="xfunc-volatility.html">37.7. Function Volatility Categories</a></span></dt><dt><span class="sect1"><a href="xfunc-pl.html">37.8. Procedural Language Functions</a></span></dt><dt><span class="sect1"><a href="xfunc-internal.html">37.9. Internal Functions</a></span></dt><dt><span class="sect1"><a href="xfunc-c.html">37.10. C-Language Functions</a></span></dt><dt><span class="sect1"><a href="xfunc-optimization.html">37.11. Function Optimization Information</a></span></dt><dt><span class="sect1"><a href="xaggr.html">37.12. User-Defined Aggregates</a></span></dt><dt><span class="sect1"><a href="xtypes.html">37.13. User-Defined Types</a></span></dt><dt><span class="sect1"><a href="xoper.html">37.14. User-Defined Operators</a></span></dt><dt><span class="sect1"><a href="xoper-optimization.html">37.15. Operator Optimization Information</a></span></dt><dt><span class="sect1"><a href="xindex.html">37.16. Interfacing Extensions to Indexes</a></span></dt><dt><span class="sect1"><a href="extend-extensions.html">37.17. Packaging Related Objects into an Extension</a></span></dt><dt><span class="sect1"><a href="extend-pgxs.html">37.18. Extension Building Infrastructure</a></span></dt></dl></dd><dt><span class="chapter"><a href="triggers.html">38. Triggers</a></span></dt><dd><dl><dt><span class="sect1"><a href="trigger-definition.html">38.1. Overview of Trigger Behavior</a></span></dt><dt><span class="sect1"><a href="trigger-datachanges.html">38.2. Visibility of Data Changes</a></span></dt><dt><span class="sect1"><a href="trigger-interface.html">38.3. Writing Trigger Functions in C</a></span></dt><dt><span class="sect1"><a href="trigger-example.html">38.4. A Complete Trigger Example</a></span></dt></dl></dd><dt><span class="chapter"><a href="event-triggers.html">39. Event Triggers</a></span></dt><dd><dl><dt><span class="sect1"><a href="event-trigger-definition.html">39.1. Overview of Event Trigger Behavior</a></span></dt><dt><span class="sect1"><a href="event-trigger-matrix.html">39.2. Event Trigger Firing Matrix</a></span></dt><dt><span class="sect1"><a href="event-trigger-interface.html">39.3. Writing Event Trigger Functions in C</a></span></dt><dt><span class="sect1"><a href="event-trigger-example.html">39.4. A Complete Event Trigger Example</a></span></dt><dt><span class="sect1"><a href="event-trigger-table-rewrite-example.html">39.5. A Table Rewrite Event Trigger Example</a></span></dt></dl></dd><dt><span class="chapter"><a href="rules.html">40. The Rule System</a></span></dt><dd><dl><dt><span class="sect1"><a href="querytree.html">40.1. The Query Tree</a></span></dt><dt><span class="sect1"><a href="rules-views.html">40.2. Views and the Rule System</a></span></dt><dt><span class="sect1"><a href="rules-materializedviews.html">40.3. Materialized Views</a></span></dt><dt><span class="sect1"><a href="rules-update.html">40.4. Rules on <code class="command">INSERT</code>, <code class="command">UPDATE</code>, and <code class="command">DELETE</code></a></span></dt><dt><span class="sect1"><a href="rules-privileges.html">40.5. Rules and Privileges</a></span></dt><dt><span class="sect1"><a href="rules-status.html">40.6. Rules and Command Status</a></span></dt><dt><span class="sect1"><a href="rules-triggers.html">40.7. Rules Versus Triggers</a></span></dt></dl></dd><dt><span class="chapter"><a href="xplang.html">41. Procedural Languages</a></span></dt><dd><dl><dt><span class="sect1"><a href="xplang-install.html">41.1. Installing Procedural Languages</a></span></dt></dl></dd><dt><span class="chapter"><a href="plpgsql.html">42. <span class="application">PL/pgSQL</span> — <acronym class="acronym">SQL</acronym> Procedural Language</a></span></dt><dd><dl><dt><span class="sect1"><a href="plpgsql-overview.html">42.1. Overview</a></span></dt><dt><span class="sect1"><a href="plpgsql-structure.html">42.2. Structure of <span class="application">PL/pgSQL</span></a></span></dt><dt><span class="sect1"><a href="plpgsql-declarations.html">42.3. Declarations</a></span></dt><dt><span class="sect1"><a href="plpgsql-expressions.html">42.4. Expressions</a></span></dt><dt><span class="sect1"><a href="plpgsql-statements.html">42.5. Basic Statements</a></span></dt><dt><span class="sect1"><a href="plpgsql-control-structures.html">42.6. Control Structures</a></span></dt><dt><span class="sect1"><a href="plpgsql-cursors.html">42.7. Cursors</a></span></dt><dt><span class="sect1"><a href="plpgsql-transactions.html">42.8. Transaction Management</a></span></dt><dt><span class="sect1"><a href="plpgsql-errors-and-messages.html">42.9. Errors and Messages</a></span></dt><dt><span class="sect1"><a href="plpgsql-trigger.html">42.10. Trigger Functions</a></span></dt><dt><span class="sect1"><a href="plpgsql-implementation.html">42.11. <span class="application">PL/pgSQL</span> under the Hood</a></span></dt><dt><span class="sect1"><a href="plpgsql-development-tips.html">42.12. Tips for Developing in <span class="application">PL/pgSQL</span></a></span></dt><dt><span class="sect1"><a href="plpgsql-porting.html">42.13. Porting from <span class="productname">Oracle</span> PL/SQL</a></span></dt></dl></dd><dt><span class="chapter"><a href="pltcl.html">43. PL/Tcl — Tcl Procedural Language</a></span></dt><dd><dl><dt><span class="sect1"><a href="pltcl-overview.html">43.1. Overview</a></span></dt><dt><span class="sect1"><a href="pltcl-functions.html">43.2. PL/Tcl Functions and Arguments</a></span></dt><dt><span class="sect1"><a href="pltcl-data.html">43.3. Data Values in PL/Tcl</a></span></dt><dt><span class="sect1"><a href="pltcl-global.html">43.4. Global Data in PL/Tcl</a></span></dt><dt><span class="sect1"><a href="pltcl-dbaccess.html">43.5. Database Access from PL/Tcl</a></span></dt><dt><span class="sect1"><a href="pltcl-trigger.html">43.6. Trigger Functions in PL/Tcl</a></span></dt><dt><span class="sect1"><a href="pltcl-event-trigger.html">43.7. Event Trigger Functions in PL/Tcl</a></span></dt><dt><span class="sect1"><a href="pltcl-error-handling.html">43.8. Error Handling in PL/Tcl</a></span></dt><dt><span class="sect1"><a href="pltcl-subtransactions.html">43.9. Explicit Subtransactions in PL/Tcl</a></span></dt><dt><span class="sect1"><a href="pltcl-transactions.html">43.10. Transaction Management</a></span></dt><dt><span class="sect1"><a href="pltcl-config.html">43.11. PL/Tcl Configuration</a></span></dt><dt><span class="sect1"><a href="pltcl-procnames.html">43.12. Tcl Procedure Names</a></span></dt></dl></dd><dt><span class="chapter"><a href="plperl.html">44. PL/Perl — Perl Procedural Language</a></span></dt><dd><dl><dt><span class="sect1"><a href="plperl-funcs.html">44.1. PL/Perl Functions and Arguments</a></span></dt><dt><span class="sect1"><a href="plperl-data.html">44.2. Data Values in PL/Perl</a></span></dt><dt><span class="sect1"><a href="plperl-builtins.html">44.3. Built-in Functions</a></span></dt><dt><span class="sect1"><a href="plperl-global.html">44.4. Global Values in PL/Perl</a></span></dt><dt><span class="sect1"><a href="plperl-trusted.html">44.5. Trusted and Untrusted PL/Perl</a></span></dt><dt><span class="sect1"><a href="plperl-triggers.html">44.6. PL/Perl Triggers</a></span></dt><dt><span class="sect1"><a href="plperl-event-triggers.html">44.7. PL/Perl Event Triggers</a></span></dt><dt><span class="sect1"><a href="plperl-under-the-hood.html">44.8. PL/Perl Under the Hood</a></span></dt></dl></dd><dt><span class="chapter"><a href="plpython.html">45. PL/Python — Python Procedural Language</a></span></dt><dd><dl><dt><span class="sect1"><a href="plpython-python23.html">45.1. Python 2 vs. Python 3</a></span></dt><dt><span class="sect1"><a href="plpython-funcs.html">45.2. PL/Python Functions</a></span></dt><dt><span class="sect1"><a href="plpython-data.html">45.3. Data Values</a></span></dt><dt><span class="sect1"><a href="plpython-sharing.html">45.4. Sharing Data</a></span></dt><dt><span class="sect1"><a href="plpython-do.html">45.5. Anonymous Code Blocks</a></span></dt><dt><span class="sect1"><a href="plpython-trigger.html">45.6. Trigger Functions</a></span></dt><dt><span class="sect1"><a href="plpython-database.html">45.7. Database Access</a></span></dt><dt><span class="sect1"><a href="plpython-subtransaction.html">45.8. Explicit Subtransactions</a></span></dt><dt><span class="sect1"><a href="plpython-transactions.html">45.9. Transaction Management</a></span></dt><dt><span class="sect1"><a href="plpython-util.html">45.10. Utility Functions</a></span></dt><dt><span class="sect1"><a href="plpython-envar.html">45.11. Environment Variables</a></span></dt></dl></dd><dt><span class="chapter"><a href="spi.html">46. Server Programming Interface</a></span></dt><dd><dl><dt><span class="sect1"><a href="spi-interface.html">46.1. Interface Functions</a></span></dt><dt><span class="sect1"><a href="spi-interface-support.html">46.2. Interface Support Functions</a></span></dt><dt><span class="sect1"><a href="spi-memory.html">46.3. Memory Management</a></span></dt><dt><span class="sect1"><a href="spi-transaction.html">46.4. Transaction Management</a></span></dt><dt><span class="sect1"><a href="spi-visibility.html">46.5. Visibility of Data Changes</a></span></dt><dt><span class="sect1"><a href="spi-examples.html">46.6. Examples</a></span></dt></dl></dd><dt><span class="chapter"><a href="bgworker.html">47. Background Worker Processes</a></span></dt><dt><span class="chapter"><a href="logicaldecoding.html">48. Logical Decoding</a></span></dt><dd><dl><dt><span class="sect1"><a href="logicaldecoding-example.html">48.1. Logical Decoding Examples</a></span></dt><dt><span class="sect1"><a href="logicaldecoding-explanation.html">48.2. Logical Decoding Concepts</a></span></dt><dt><span class="sect1"><a href="logicaldecoding-walsender.html">48.3. Streaming Replication Protocol Interface</a></span></dt><dt><span class="sect1"><a href="logicaldecoding-sql.html">48.4. Logical Decoding <acronym class="acronym">SQL</acronym> Interface</a></span></dt><dt><span class="sect1"><a href="logicaldecoding-catalogs.html">48.5. System Catalogs Related to Logical Decoding</a></span></dt><dt><span class="sect1"><a href="logicaldecoding-output-plugin.html">48.6. Logical Decoding Output Plugins</a></span></dt><dt><span class="sect1"><a href="logicaldecoding-writer.html">48.7. Logical Decoding Output Writers</a></span></dt><dt><span class="sect1"><a href="logicaldecoding-synchronous.html">48.8. Synchronous Replication Support for Logical Decoding</a></span></dt></dl></dd><dt><span class="chapter"><a href="replication-origins.html">49. Replication Progress Tracking</a></span></dt></dl></div></div></div><div xmlns="http://www.w3.org/TR/xhtml1/transitional" class="navfooter"><hr></hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="infoschema-views.html" title="36.62. views">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="index.html" title="PostgreSQL 13.4 Documentation">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="extend.html" title="Chapter 37. Extending SQL">Next</a></td></tr><tr><td width="40%" align="left" valign="top">36.62. <code xmlns="http://www.w3.org/1999/xhtml" class="literal">views</code> </td><td width="20%" align="center"><a accesskey="h" href="index.html" title="PostgreSQL 13.4 Documentation">Home</a></td><td width="40%" align="right" valign="top"> Chapter 37. Extending <acronym xmlns="http://www.w3.org/1999/xhtml" class="acronym">SQL</acronym></td></tr></table></div></body></html>
\ No newline at end of file |