capitalization.
</para>
<sect2>
- <title>Functions implemented</title>
+ <title>Functions Implemented</title>
<para>
The functions implemented by <filename>adminpack</> can only be run by a
</para>
<sect2>
- <title>Configuration parameters</title>
+ <title>Configuration Parameters</title>
<variablelist>
<varlistentry>
</para>
<sect2>
- <title>Configuration parameters</title>
+ <title>Configuration Parameters</title>
<para>
There are several configuration parameters that control the behavior of
</important>
<sect2 id="backup-dump-restore">
- <title>Restoring the dump</title>
+ <title>Restoring the Dump</title>
<para>
The text files created by <application>pg_dump</> are intended to
</sect2>
<sect2 id="backup-dump-large">
- <title>Handling large databases</title>
+ <title>Handling Large Databases</title>
<para>
Some operating systems have maximum file size limits that cause
</para>
<sect2 id="backup-archiving-wal">
- <title>Setting up WAL archiving</title>
+ <title>Setting Up WAL Archiving</title>
<para>
In an abstract sense, a running <productname>PostgreSQL</> system
</sect2>
<sect2 id="backup-pitr-recovery">
- <title>Recovering using a Continuous Archive Backup</title>
+ <title>Recovering Using a Continuous Archive Backup</title>
<para>
Okay, the worst has happened and you need to recover from your backup.
</para>
<sect3 id="backup-standalone">
- <title>Standalone hot backups</title>
+ <title>Standalone Hot Backups</title>
<para>
It is possible to use <productname>PostgreSQL</>'s backup facilities to
</sect3>
<sect3 id="backup-scripts">
- <title><varname>archive_command</varname> scripts</title>
+ <title><varname>archive_command</varname> Scripts</title>
<para>
Many people choose to use scripts to define their
</variablelist>
<sect2 id="migration-methods-pgdump">
- <title>Migrating data via <application>pg_dump</></title>
+ <title>Migrating Data via <application>pg_dump</></title>
<para>
To dump data from one major version of <productname>PostgreSQL</> and
</sect2>
<sect2 id="migration-methods-other">
- <title>Other data migration methods</title>
+ <title>Other Data Migration Methods</title>
<para>
The <filename>contrib</> program
</para>
<sect2>
- <title>Example usage</title>
+ <title>Example Usage</title>
<programlisting>
CREATE TABLE test (a int4);
</para>
<sect2>
- <title>Example usage</title>
+ <title>Example Usage</title>
<para>
Simple example using btree_gist instead of btree:
<!-- doc/src/sgml/charset.sgml -->
<chapter id="charset">
- <title>Localization</>
+ <title>Localization</title>
<para>
This chapter describes the available localization features from the
</para>
<sect2>
- <title>Overview</>
+ <title>Overview</title>
<para>
Locale support is automatically initialized when a database
</sect2>
<sect2>
- <title>Behavior</>
+ <title>Behavior</title>
<para>
The locale settings influence the following SQL features:
</sect2>
<sect2>
- <title>Problems</>
+ <title>Problems</title>
<para>
If locale support doesn't work according to the explanation above,
</para>
<sect1 id="auth-pg-hba-conf">
- <title>The <filename>pg_hba.conf</filename> file</title>
+ <title>The <filename>pg_hba.conf</filename> File</title>
<indexterm zone="auth-pg-hba-conf">
<primary>pg_hba.conf</primary>
</para>
<example id="example-pg-hba.conf">
- <title>Example <filename>pg_hba.conf</filename> entries</title>
+ <title>Example <filename>pg_hba.conf</filename> Entries</title>
<programlisting>
# Allow any user on the local system to connect to any database with
# any database user name using Unix-domain sockets (the default for local
</sect1>
<sect1 id="auth-username-maps">
- <title>User name maps</title>
+ <title>User Name Maps</title>
<indexterm zone="auth-username-maps">
<primary>User name maps</primary>
</para>
<example id="example-pg-ident.conf">
- <title>An example <filename>pg_ident.conf</> file</title>
+ <title>An Example <filename>pg_ident.conf</> File</title>
<programlisting>
# MAPNAME SYSTEM-USERNAME PG-USERNAME
</sect1>
<sect1 id="auth-methods">
- <title>Authentication methods</title>
+ <title>Authentication Methods</title>
<para>
The following subsections describe the authentication methods in more detail.
</para>
<sect2 id="auth-trust">
- <title>Trust authentication</title>
+ <title>Trust Authentication</title>
<para>
When <literal>trust</> authentication is specified,
</sect2>
<sect2 id="auth-password">
- <title>Password authentication</title>
+ <title>Password Authentication</title>
<indexterm>
<primary>MD5</>
</sect2>
<sect2 id="gssapi-auth">
- <title>GSSAPI authentication</title>
+ <title>GSSAPI Authentication</title>
<indexterm zone="gssapi-auth">
<primary>GSSAPI</primary>
</sect2>
<sect2 id="sspi-auth">
- <title>SSPI authentication</title>
+ <title>SSPI Authentication</title>
<indexterm zone="sspi-auth">
<primary>SSPI</primary>
</sect2>
<sect2 id="kerberos-auth">
- <title>Kerberos authentication</title>
+ <title>Kerberos Authentication</title>
<indexterm zone="kerberos-auth">
<primary>Kerberos</primary>
</sect2>
<sect2 id="auth-ident">
- <title>Ident-based authentication</title>
+ <title>Ident-Based Authentication</title>
<indexterm>
<primary>ident</primary>
</para>
<sect3>
- <title>Ident Authentication over TCP/IP</title>
+ <title>Ident Authentication Over TCP/IP</title>
<para>
The <quote>Identification Protocol</quote> is described in
</sect3>
<sect3>
- <title>Ident Authentication over Local Sockets</title>
+ <title>Ident Authentication Over Local Sockets</title>
<para>
On systems supporting <symbol>SO_PEERCRED</symbol> requests for
</sect2>
<sect2 id="auth-ldap">
- <title>LDAP authentication</title>
+ <title>LDAP Authentication</title>
<indexterm zone="auth-ldap">
<primary>LDAP</primary>
</sect2>
<sect2 id="auth-radius">
- <title>RADIUS authentication</title>
+ <title>RADIUS Authentication</title>
<indexterm zone="auth-radius">
<primary>RADIUS</primary>
</sect2>
<sect2 id="auth-cert">
- <title>Certificate authentication</title>
+ <title>Certificate Authentication</title>
<indexterm zone="auth-cert">
<primary>Certificate</primary>
</sect2>
<sect2 id="auth-pam">
- <title>PAM authentication</title>
+ <title>PAM Authentication</title>
<indexterm zone="auth-pam">
<primary>PAM</primary>
</sect1>
<sect1 id="client-authentication-problems">
- <title>Authentication problems</title>
+ <title>Authentication Problems</title>
<para>
Authentication failures and related problems generally
</para>
<table id="runtime-config-severity-levels">
- <title>Message severity levels</title>
+ <title>Message Severity Levels</title>
<tgroup cols="4">
<thead>
<row>
</para>
<table id="runtime-config-short-table">
- <title>Short option key</title>
+ <title>Short Option Key</title>
<tgroup cols="2">
<thead>
<row>
- <entry>Short option</entry>
+ <entry>Short Option</entry>
<entry>Equivalent</entry>
</row>
</thead>
</para>
<sect2>
- <title>refint.c — functions for implementing referential integrity</title>
+ <title>refint.c — Functions for Implementing Referential Integrity</title>
<para>
<function>check_primary_key()</> and
</sect2>
<sect2>
- <title>timetravel.c — functions for implementing time travel</title>
+ <title>timetravel.c — Functions for Implementing Time Travel</title>
<para>
Long ago, <productname>PostgreSQL</> had a built-in time travel feature
</sect2>
<sect2>
- <title>autoinc.c — functions for autoincrementing fields</title>
+ <title>autoinc.c — Functions for Autoincrementing Fields</title>
<para>
<function>autoinc()</> is a trigger that stores the next value of
</sect2>
<sect2>
- <title>insert_username.c — functions for tracking who changed a table</title>
+ <title>insert_username.c — Functions for Tracking Who Changed a Table</title>
<para>
<function>insert_username()</> is a trigger that stores the current
</sect2>
<sect2>
- <title>moddatetime.c — functions for tracking last modification time</title>
+ <title>moddatetime.c — Functions for Tracking Last Modification Time</title>
<para>
<function>moddatetime()</> is a trigger that stores the current
</para>
<table id="cube-repr-table">
- <title>Cube external representations</title>
+ <title>Cube External Representations</title>
<tgroup cols="2">
<tbody>
<row>
</para>
<table id="cube-gist-operators">
- <title>Cube GiST operators</title>
+ <title>Cube GiST Operators</title>
<tgroup cols="2">
<thead>
<row>
</para>
<table id="cube-functions-table">
- <title>Cube functions</title>
+ <title>Cube Functions</title>
<tgroup cols="2">
<tbody>
<row>
</para>
<example>
- <title>Using the character types</title>
+ <title>Using the Character Types</title>
<programlisting>
CREATE TABLE test1 (a character(4));
</para>
<sect2>
- <title><type>bytea</> hex format</title>
+ <title><type>bytea</> Hex Format</title>
<para>
The <quote>hex</> format encodes binary data as 2 hexadecimal digits
</sect2>
<sect2>
- <title><type>bytea</> escape format</title>
+ <title><type>bytea</> Escape Format</title>
<para>
The <quote>escape</quote> format is the traditional
</para>
<table id="datatype-interval-iso8601-units">
- <title>ISO 8601 interval unit abbreviations</title>
+ <title>ISO 8601 Interval Unit Abbreviations</title>
<tgroup cols="2">
<thead>
<row>
</para>
<example id="datatype-boolean-example">
- <title>Using the <type>boolean</type> type</title>
+ <title>Using the <type>boolean</type> Type</title>
<programlisting>
CREATE TABLE test1 (a boolean, b text);
</sect2>
<sect2 id="datatype-macaddr">
- <title><type>macaddr</></>
+ <title><type>macaddr</type></title>
<indexterm>
<primary>macaddr (data type)</primary>
</para>
<example>
- <title>Using the bit string types</title>
+ <title>Using the Bit String Types</title>
<programlisting>
CREATE TABLE test (a BIT(3), b BIT VARYING(5));
</para>
<sect1 id="disk-usage">
- <title>Determining Disk Usage</Title>
+ <title>Determining Disk Usage</title>
<indexterm zone="disk-usage">
<primary>disk usage</primary>
</sect2>
<sect2>
- <title>Other Emacs modes</title>
+ <title>Other Emacs Modes</title>
<para>
<productname>GNU Emacs</productname> ships with a different
</para>
<sect2>
- <title>Cube-based earth distances</title>
+ <title>Cube-Based Earth Distances</title>
<para>
Data is stored in cubes that are points (both corners are the same) using 3
</para>
<table id="earthdistance-cube-functions">
- <title>Cube-based earthdistance functions</title>
+ <title>Cube-Based Earthdistance Functions</title>
<tgroup cols="3">
<thead>
<row>
</sect2>
<sect2>
- <title>Point-based earth distances</title>
+ <title>Point-Based Earth Distances</title>
<para>
The second part of the module relies on representing Earth locations as
</para>
<table id="earthdistance-point-operators">
- <title>Point-based earthdistance operators</title>
+ <title>Point-Based Earthdistance Operators</title>
<tgroup cols="3">
<thead>
<row>
</para>
<sect2 id="ecpg-connecting">
- <title>Connecting to the database server</title>
+ <title>Connecting to the Database Server</title>
<para>
One connects to a database using the following statement:
</sect2>
<sect2 id="ecpg-set-connection">
- <title>Choosing a connection</title>
+ <title>Choosing a Connection</title>
<para>
SQL statements in embedded SQL programs are by default executed on
</sect2>
<sect2 id="ecpg-disconnect">
- <title>Closing a connection</title>
+ <title>Closing a Connection</title>
<para>
To close a connection, use the following statement:
</para>
<sect2 id="ecpg-executing">
- <title>Executing SQL statements</title>
+ <title>Executing SQL Statements</title>
<para>
Creating a table:
</sect2>
<sect2 id="ecpg-cursors">
- <title>Using cursors</title>
+ <title>Using Cursors</title>
<para>
To retrieve a result set holding multiple rows, an application has
</sect2>
<sect2 id="ecpg-transactions">
- <title>Managing transactions</title>
+ <title>Managing Transactions</title>
<para>
In the default mode, statements are committed only when
</sect2>
<sect2 id="ecpg-prepared">
- <title>Prepared statements</title>
+ <title>Prepared Statements</title>
<para>
When the values to be passed to an SQL statement are not known at
</sect2>
<sect2 id="ecpg-retrieving">
- <title>Retrieving query results</title>
+ <title>Retrieving Query Results</title>
<para>
Now you should be able to pass data generated by your program into
</sect2>
<sect2 id="ecpg-variables-type-mapping">
- <title>Type mapping</title>
+ <title>Type Mapping</title>
<para>
When ECPG applications exchange values between the PostgreSQL
</para>
<table id="ecpg-datatype-hostvars-table">
- <title>Mapping between PostgreSQL data types and C variable types</title>
+ <title>Mapping Between PostgreSQL Data Types and C Variable Types</title>
<tgroup cols="2">
<thead>
<row>
</table>
<sect3 id="ecpg-char">
- <title>Handling character strings</title>
+ <title>Handling Character Strings</title>
<para>
To handle SQL character string data types, such
</sect3>
<sect3 id="ecpg-special-types">
- <title>Accessing special data types</title>
+ <title>Accessing Special Data Types</title>
<para>
ECPG contains some special types that help you to interact easily
</sect3>
<sect3 id="ecpg-variables-nonprimitive-c">
- <title>Host variables with nonprimitive types</title>
+ <title>Host Variables with Nonprimitive Types</title>
<para>
As a host variable you can also use arrays, typedefs, structs, and
</sect2>
<sect2 id="ecpg-variables-nonprimitive-sql">
- <title>Handling nonprimitive SQL data types</title>
+ <title>Handling Nonprimitive SQL Data Types</title>
<para>
This section contains information on how to handle nonscalar and
</sect3>
<sect3>
- <title>Composite types</title>
+ <title>Composite Types</title>
<para>
Composite types are not directly supported in ECPG, but an easy workaround is possible.
</sect3>
<sect3>
- <title>User-defined base types</title>
+ <title>User-Defined Base Types</title>
<para>
New user-defined base types are not directly supported by ECPG.
</para>
<sect2 id="ecpg-dynamic-without-result">
- <title>Executing statements without a result set</title>
+ <title>Executing Statements without a Result Set</title>
<para>
The simplest way to execute an arbitrary SQL statement is to use
</sect2>
<sect2 id="ecpg-dynamic-input">
- <title>Executing a statement with input parameters</title>
+ <title>Executing a Statement with Input Parameters</title>
<para>
A more powerful way to execute arbitrary SQL statements is to
</sect2>
<sect2 id="ecpg-dynamic-with-result">
- <title>Executing a statement with a result set</title>
+ <title>Executing a Statement with a Result Set</title>
<para>
To execute an SQL statement with a single result row,
</sect1>
<sect1 id="ecpg-pgtypes">
- <title>pgtypes library</title>
+ <title>pgtypes Library</title>
<para>
The pgtypes library maps <productname>PostgreSQL</productname> database
</para>
<sect2 id="ecpg-pgtypes-numeric">
- <title>The numeric type</title>
+ <title>The numeric Type</title>
<para>
The numeric type offers to do calculations with arbitrary precision. See
<xref linkend="datatype-numeric"> for the equivalent type in the
</sect2>
<sect2 id="ecpg-pgtypes-date">
- <title>The date type</title>
+ <title>The date Type</title>
<para>
The date type in C enables your programs to deal with data of the SQL type
date. See <xref linkend="datatype-datetime"> for the equivalent type in the
<xref linkend="ecpg-pgtypesdate-from-asc-table"> shows the allowed input formats.
</para>
<table id="ecpg-pgtypesdate-from-asc-table">
- <title>Valid input formats for <function>PGTYPESdate_from_asc</function></title>
+ <title>Valid Input Formats for <function>PGTYPESdate_from_asc</function></title>
<tgroup cols="2">
<thead>
<row>
the same date: November 23, 1959.
</para>
<table id="ecpg-pgtypesdate-fmt-asc-example-table">
- <title>Valid input formats for <function>PGTYPESdate_fmt_asc</function></title>
+ <title>Valid Input Formats for <function>PGTYPESdate_fmt_asc</function></title>
<tgroup cols="2">
<thead>
<row>
you an idea of how to use this function.
</para>
<table id="ecpg-rdefmtdate-example-table">
- <title>Valid input formats for <function>rdefmtdate</function></title>
+ <title>Valid Input Formats for <function>rdefmtdate</function></title>
<tgroup cols="3">
<thead>
<row>
</sect2>
<sect2 id="ecpg-pgtypes-timestamp">
- <title>The timestamp type</title>
+ <title>The timestamp Type</title>
<para>
The timestamp type in C enables your programs to deal with data of the SQL
type timestamp. See <xref linkend="datatype-datetime"> for the equivalent
<xref linkend="ecpg-pgtypestimestamp-from-asc-example-table"> contains a few examples for input strings.
</para>
<table id="ecpg-pgtypestimestamp-from-asc-example-table">
- <title>Valid input formats for <function>PGTYPEStimestamp_from_asc</function></title>
+ <title>Valid Input Formats for <function>PGTYPEStimestamp_from_asc</function></title>
<tgroup cols="2">
<thead>
<row>
</sect2>
<sect2 id="ecpg-pgtypes-interval">
- <title>The interval type</title>
+ <title>The interval Type</title>
<para>
The interval type in C enables your programs to deal with data of the SQL
type interval. See <xref linkend="datatype-datetime"> for the equivalent
</sect2>
<sect2 id="ecpg-pgtypes-decimal">
- <title>The decimal type</title>
+ <title>The decimal Type</title>
<para>
The decimal type is similar to the numeric type. However it is limited to
a maximum precision of 30 significant digits. In contrast to the numeric
</sect2>
<sect2 id="ecpg-pgtypes-errno">
- <title>errno values of pgtypeslib</title>
+ <title>errno Values of pgtypeslib</title>
<para>
<variablelist>
<varlistentry>
</sect2>
<sect2 id="ecpg-pgtypes-constants">
- <title>Special constants of pgtypeslib</title>
+ <title>Special Constants of pgtypeslib</title>
<para>
<variablelist>
<varlistentry id="PGTYPESInvalidTimestamp">
</para>
<sect2 id="ecpg-named-descriptors">
- <title>Named SQL descriptor areas</title>
+ <title>Named SQL Descriptor Areas</title>
<para>
A named SQL descriptor area consists of a header, which contains
</sect2>
<sect2 id="ecpg-sqlda-descriptors">
- <title>SQLDA descriptor areas</title>
+ <title>SQLDA Descriptor Areas</title>
<para>
An SQLDA Descriptor Area is a C language structure which can be also used
</procedure>
<sect3>
- <title>SQLDA data structure</title>
+ <title>SQLDA Datac Structure</title>
<para>
SQLDA uses three data structure
</tip>
<sect4 id="ecpg-sqlda-sqlda">
- <title>sqlda_t structure</title>
+ <title>sqlda_t Structure</title>
<para>
The structure type <type>sqlda_t</type> is the type of the
</sect4>
<sect4 id="ecpg-sqlda-sqlvar">
- <title>sqlvar_t structure</title>
+ <title>sqlvar_t Structure</title>
<para>
The structure type <type>sqlvar_t</type> holds a column value
</sect4>
<sect4 id="ecpg-sqlda-sqlname">
- <title>struct sqlname structure</title>
+ <title>struct sqlname Structure</title>
<para>
A <type>struct sqlname</type> structure holds a column name. It
</sect3>
<sect3 id="ecpg-sqlda-output">
- <title>Retreiving a result set using an SQLDA</title>
+ <title>Retreiving a Result Set Using an SQLDA</title>
<procedure>
<para>
</sect3>
<sect3 id="ecpg-sqlda-input">
- <title>Passing query parameters using an SQLDA</title>
+ <title>Passing Query Parameters Using an SQLDA</title>
<procedure>
<para>
</sect3>
<sect3 id="ecpg-sqlda-example">
- <title>A sample application using SQLDA</title>
+ <title>A Sample Application Using SQLDA</title>
<para>
Here is an example program, which describes how to fetch access
</para>
<example id="ecpg-sqlda-example-example">
- <title>Example SQLDA program</title>
+ <title>Example SQLDA Program</title>
<programlisting>
#include <stdlib.h>
#include <string.h>
</para>
<sect2 id="ecpg-whenever">
- <title>Setting callbacks</title>
+ <title>Setting Callbacks</title>
<para>
One simple method to catch errors and warnings is to set a
</sect2>
<sect2 id="ecpg-sqlstate-sqlcode">
- <title><literal>SQLSTATE</literal> vs <literal>SQLCODE</literal></title>
+ <title><literal>SQLSTATE</literal> vs. <literal>SQLCODE</literal></title>
<para>
The fields <literal>sqlca.sqlstate</literal> and
</sect1>
<sect1 id="ecpg-preproc">
- <title>Preprocessor directives</title>
+ <title>Preprocessor Directives</title>
<para>
Several preprocessor directives are available that modify how
</para>
<sect2 id="ecpg-include">
- <title>Including files</title>
+ <title>Including Files</title>
<para>
To include an external file into your embedded SQL program, use:
</sect2>
<sect2 id="ecpg-define">
- <title>The define and undef directives</title>
+ <title>The define and undef Directives</title>
<para>
Similar to the directive <literal>#define</literal> that is known from C,
embedded SQL has a similar concept:
</sect2>
<sect2 id="ecpg-ifdef">
- <title>ifdef, ifndef, else, elif, and endif directives</title>
+ <title>ifdef, ifndef, else, elif, and endif Directives</title>
<para>
You can use the following directives to compile code sections conditionally:
</para>
<example id="ecpg-lo-example">
- <title>ECPG program accessing large objects</title>
+ <title>ECPG Program Accessing Large Objects</title>
<programlisting><![CDATA[
#include <stdio.h>
#include <stdlib.h>
</para>
<sect2 id="ecpg-cpp-scope">
- <title>Scope for host variables</title>
+ <title>Scope for Host Variables</title>
<para>
The <command>ecpg</command> preprocessor understands the scope of
</sect2>
<sect2 id="ecpg-cpp-and-c">
- <title>C++ application development with external C module</title>
+ <title>C++ Application Development with External C Module</title>
<para>
If you understand these technical limitations of
</para>
<sect2 id="ecpg-informix-types">
- <title>Additional types</title>
+ <title>Additional Types</title>
<para>
The Informix-special "string" pseudo-type for storing right-trimmed character string data is now
supported in Informix-mode without using <literal>typedef</literal>. In fact, in Informix-mode,
</sect2>
<sect2 id="ecpg-informix-statements">
- <title>Additional/missing embedded SQL statements</title>
+ <title>Additional/Missing Embedded SQL Statements</title>
<para>
<variablelist>
<varlistentry>
</sect2>
<sect2 id="ecpg-informix-sqlda">
- <title>Informix-compatible SQLDA descriptor areas</title>
+ <title>Informix-Compatible SQLDA Descriptor Areas</title>
<para>
Informix-compatible mode supports a different structure than the one described in
<xref linkend="ecpg-sqlda-descriptors">. See below:
</sect2>
<sect2 id="ecpg-informix-functions">
- <title>Additional functions</title>
+ <title>Additional Functions</title>
<para>
<variablelist>
<varlistentry>
</sect2>
<sect2 id="ecpg-informix-constants">
- <title>Additional constants</title>
+ <title>Additional Constants</title>
<para>
Note that all constants here describe errors and all of them are defined
to represent negative values. In the descriptions of the different
</para>
<table id="language-interface-table">
- <title>Externally Maintained Client Interfaces</>
+ <title>Externally Maintained Client Interfaces</title>
<tgroup cols="4">
<thead>
</para>
<figure id="xslt-xml-html">
- <title>XSLT stylesheet for converting SQL/XML output to HTML</title>
+ <title>XSLT Stylesheet for Converting SQL/XML Output to HTML</title>
<programlisting><![CDATA[
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
</para>
<table id="functions-txid-snapshot">
- <title>Transaction IDs and snapshots</title>
+ <title>Transaction IDs and Snapshots</title>
<tgroup cols="3">
<thead>
<row><entry>Name</entry> <entry>Return Type</entry> <entry>Description</entry></row>
</para>
<table id="functions-txid-snapshot-parts">
- <title>Snapshot components</title>
+ <title>Snapshot Components</title>
<tgroup cols="2">
<thead>
<row>
</para>
<sect2 id="gin-fast-update">
- <title>GIN fast update technique</title>
+ <title>GIN Fast Update Technique</title>
<para>
Updating a <acronym>GIN</acronym> index tends to be slow because of the
</sect2>
<sect2 id="gin-partial-match">
- <title>Partial match algorithm</title>
+ <title>Partial Match Algorithm</title>
<para>
GIN can support <quote>partial match</> queries, in which the query
</sect1>
<sect1 id="gin-tips">
-<title>GIN tips and tricks</title>
+<title>GIN Tips and Tricks</title>
<variablelist>
<varlistentry>
- <term>Create vs insert</term>
+ <term>Create vs. insert</term>
<listitem>
<para>
Insertion into a <acronym>GIN</acronym> index can be slow
</para>
<sect1 id="different-replication-solutions">
- <title>Comparison of different solutions</title>
+ <title>Comparison of Different Solutions</title>
<variablelist>
</sect1>
<sect1 id="log-shipping-alternative">
- <title>Alternative method for log shipping</title>
+ <title>Alternative Method for Log Shipping</title>
<para>
An alternative to the built-in standby mode described in the previous
</sect2>
<sect2 id="hot-standby-conflict">
- <title>Handling query conflicts</title>
+ <title>Handling Query Conflicts</title>
<para>
The primary and standby servers are in many ways loosely connected. Actions
</sect2>
<sect2>
- <title>Special considerations for 64-bit Windows</title>
+ <title>Special Considerations for 64-bit Windows</title>
<para>
PostgreSQL will only build for the x64 architecture on 64-bit Windows, there
</sect2>
<sect2>
- <title>Cleaning and installing</title>
+ <title>Cleaning and Installing</title>
<para>
Most of the time, the automatic dependency tracking in Visual Studio will
</sect2>
<sect2>
- <title>Running the regression tests</title>
+ <title>Running the Regression Tests</title>
<para>
To run the regression tests, make sure you have completed the build of all
</sect2>
<sect2>
- <title>Building the documentation</title>
+ <title>Building the Documentation</title>
<para>
Building the PostgreSQL documentation in HTML format requires several tools
</para>
<sect2>
- <title>Generated files</title>
+ <title>Generated Files</title>
<para>
The following files will be built:
<procedure>
<step id="configure">
- <title>Configuration</>
+ <title>Configuration</title>
<indexterm zone="configure">
<primary>configure</primary>
</para>
<formalpara>
- <title>Client-only installation:</title>
+ <title>Client-Only installation:</title>
<para>
If you want to install only the client applications and
interface libraries, then you can use these commands:
</para>
<sect3>
- <title>GCC issues</title>
+ <title>GCC Issues</title>
<para>
On AIX 5.3, there have been some problems getting PostgreSQL to
</sect3>
<sect3>
- <title>Unix-domain sockets broken</title>
+ <title>Unix-Domain Sockets Broken</title>
<para>
AIX 5.3 has a problem
</sect3>
<sect3>
- <title>Internet address issues</title>
+ <title>Internet Address Issues</title>
<para>
PostgreSQL relies on the system's <function>getaddrinfo</> function
</sect3>
<sect3>
- <title>Memory management</title>
+ <title>Memory Management</title>
<!-- http://archives.postgresql.org/message-id/603bgqmpl9.fsf@dba2.int.libertyrms.com -->
<para>
</para>
<bibliography>
- <title>References and resources</title>
+ <title>References and Resources</title>
<biblioentry>
<biblioset relation="article">
</para>
<sect3>
- <title>Collecting crash dumps on Windows</title>
+ <title>Collecting Crash Dumps on Windows</title>
<para>
If PostgreSQL on Windows crashes, it has the ability to generate
</sect3>
<sect3>
- <title>Reading the PostgreSQL man pages</title>
+ <title>Reading the PostgreSQL Man Pages</title>
<para>
By default, the PostgreSQL man pages are installed into
</para>
<sect3>
- <title>Required tools</title>
+ <title>Required Tools</title>
<para>
You can build with either GCC or Sun's compiler suite. For
</sect3>
<sect3>
- <title>configure complains about a failed test program</title>
+ <title>configure Complains About a Failed Test Program</title>
<para>
If <command>configure</command> complains about a failed test
</sect3>
<sect3>
- <title>64-bit build sometimes crashes</title>
+ <title>64-bit Build Sometimes Crashes</title>
<para>
On Solaris 7 and older, the 64-bit version of libc has a buggy
</sect3>
<sect3>
- <title>Compiling for optimal performance</title>
+ <title>Compiling for Optimal Performance</title>
<para>
On the SPARC architecture, Sun Studio is strongly recommended for
</sect3>
<sect3>
- <title>Using DTrace for tracing PostgreSQL</title>
+ <title>Using DTrace for Tracing PostgreSQL</title>
<para>
Yes, using DTrace is possible. See <![%standalone-include[the
</para>
<sect2>
- <title>Data types</title>
+ <title>Data Types</title>
<para>
<xref linkend="isn-datatypes"> shows the data types provided by
</para>
<table id="isn-datatypes">
- <title><filename>isn</filename> data types</title>
+ <title><filename>isn</filename> Data Types</title>
<tgroup cols="2">
<thead>
<row>
- <entry>Data type</entry>
+ <entry>Data Type</entry>
<entry>Description</entry>
</row>
</thead>
</para>
<table id="isn-functions">
- <title><filename>isn</> functions</title>
+ <title><filename>isn</> Functions</title>
<tgroup cols="3">
<thead>
<row>
</para>
<table id="libpq-connect-sslmode-options">
- <title><literal>sslmode</literal> options</title>
+ <title><literal>sslmode</literal> Options</title>
<tgroup cols="2">
<thead>
<row>
</example>
<example id="libpq-example-3">
- <title><application>libpq</application> Example Program 3</>
+ <title><application>libpq</application> Example Program 3</title>
<programlisting>
<![CDATA[
</para>
<sect1 id="monitoring-ps">
- <title>Standard Unix Tools</Title>
+ <title>Standard Unix Tools</title>
<indexterm zone="monitoring-ps">
<primary>ps</primary>
</sect1>
<sect1 id="monitoring-stats">
- <title>The Statistics Collector</Title>
+ <title>The Statistics Collector</title>
<indexterm zone="monitoring-stats">
<primary>statistics</primary>
</para>
<sect2 id="monitoring-stats-setup">
- <title>Statistics Collection Configuration</Title>
+ <title>Statistics Collection Configuration</title>
<para>
Since collection of statistics adds some overhead to query execution,
</sect2>
<sect2 id="monitoring-stats-views">
- <title>Viewing Collected Statistics</Title>
+ <title>Viewing Collected Statistics</title>
<para>
Several predefined views, listed in <xref
</para>
<sect3 id="mvcc-serializability">
- <title>Serializable Isolation versus True Serializability</title>
+ <title>Serializable Isolation Versus True Serializability</title>
<indexterm>
<primary>serializability</primary>
</para>
<variablelist>
- <title>Table-level lock modes</title>
+ <title>Table-level Lock Modes</title>
<varlistentry>
<term>
<literal>ACCESS SHARE</literal>
<table tocentry="1" id="table-lock-compatibility">
- <title> Conflicting lock modes</title>
+ <title> Conflicting Lock Modes</title>
<tgroup cols="9">
<colspec colnum="2" colname="lockst">
<colspec colnum="9" colname="lockend">
</sect2>
<sect2>
- <title>Creating and maintaining message catalogs</title>
+ <title>Creating and Maintaining Message Catalogs</title>
<para>
OK, so how does one create a <quote>blank</quote> message
</sect2>
<sect2>
- <title>Editing the PO files</title>
+ <title>Editing the PO Files</title>
<para>
The PO files can be edited with a regular text editor. The
</para>
<procedure>
- <title>Adding NLS support to a program</title>
+ <title>Adding NLS Support to a Program</title>
<step>
<para>
</sect2>
<sect2 id="nls-guidelines">
- <title>Message-writing guidelines</title>
+ <title>Message-Writing Guidelines</title>
<para>
Here are some guidelines for writing messages that are easily
</sect2>
<sect2 id="populate-pitr">
- <title>Disable WAL archival and streaming replication</title>
+ <title>Disable WAL Archival and Streaming Replication</title>
<para>
When loading large amounts of data into an installation that uses
</sect2>
<sect2>
- <title>Supported server versions</title>
+ <title>Supported Server Versions</title>
<para>
<application>pg_archivecleanup</application> is designed to work with
</sect2>
<sect2>
- <title>What is the <quote>transaction</> actually performed in pgbench?</title>
+ <title>What is the <quote>Transaction</> Actually Performed in pgbench?</title>
<para>
The default transaction script issues seven commands per transaction:
</sect2>
<sect2>
- <title>Per-transaction logging</title>
+ <title>Per-Transaction Logging</title>
<para>
With the <literal>-l</> option, <application>pgbench</> writes the time
</sect2>
<sect2>
- <title>Per-statement latencies</title>
+ <title>Per-Statement Latencies</title>
<para>
With the <literal>-r</> option, <application>pgbench</> collects
</para>
<sect2>
- <title>The <structname>pg_buffercache</structname> view</title>
+ <title>The <structname>pg_buffercache</structname> View</title>
<para>
The definitions of the columns exposed by the view are shown in <xref linkend="pgbuffercache-columns">.
</sect2>
<sect2>
- <title>Sample output</title>
+ <title>Sample Output</title>
<screen>
regression=# SELECT c.relname, count(*) AS buffers
</para>
<sect2>
- <title>General hashing functions</title>
+ <title>General Hashing Functions</title>
<sect3>
<title><function>digest()</function></title>
</sect2>
<sect2>
- <title>Password hashing functions</title>
+ <title>Password Hashing Functions</title>
<para>
The functions <function>crypt()</> and <function>gen_salt()</>
</para>
<table id="pgcrypto-crypt-algorithms">
- <title>Supported algorithms for <function>crypt()</></title>
+ <title>Supported Algorithms for <function>crypt()</></title>
<tgroup cols="5">
<thead>
<row>
<entry>Algorithm</entry>
- <entry>Max password length</entry>
+ <entry>Max Password Length</entry>
<entry>Adaptive?</entry>
- <entry>Salt bits</entry>
+ <entry>Salt Bits</entry>
<entry>Description</entry>
</row>
</thead>
</para>
<table id="pgcrypto-icfc-table">
- <title>Iteration counts for <function>crypt()</></title>
+ <title>Iteration Counts for <function>crypt()</></title>
<tgroup cols="4">
<thead>
<row>
</para>
<table id="pgcrypto-hash-speed-table">
- <title>Hash algorithm speeds</title>
+ <title>Hash Algorithm Speeds</title>
<tgroup cols="4">
<thead>
<row>
</sect2>
<sect2>
- <title>PGP encryption functions</title>
+ <title>PGP Encryption Functions</title>
<para>
The functions here implement the encryption part of the OpenPGP (RFC 4880)
</sect3>
<sect3>
- <title>Options for PGP functions</title>
+ <title>Options for PGP Functions</title>
<para>
Options are named to be similar to GnuPG. An option's value should be
</sect3>
<sect3>
- <title>Generating PGP keys with GnuPG</title>
+ <title>Generating PGP Keys with GnuPG</title>
<para>
To generate a new key:
</sect3>
<sect3>
- <title>Limitations of PGP code</title>
+ <title>Limitations of PGP Code</title>
<itemizedlist>
<listitem>
</sect2>
<sect2>
- <title>Raw encryption functions</title>
+ <title>Raw Encryption Functions</title>
<para>
These functions only run a cipher over data; they don't have any advanced
</sect2>
<sect2>
- <title>Random-data functions</title>
+ <title>Random-Data Functions</title>
<synopsis>
gen_random_bytes(count integer) returns bytea
</para>
<table id="pgcrypto-with-without-openssl">
- <title>Summary of functionality with and without OpenSSL</title>
+ <title>Summary of Functionality with and without OpenSSL</title>
<tgroup cols="3">
<thead>
<row>
</sect3>
<sect3>
- <title>NULL handling</title>
+ <title>NULL Handling</title>
<para>
As is standard in SQL, all functions return NULL, if any of the arguments
</sect3>
<sect3>
- <title>Security limitations</title>
+ <title>Security Limitations</title>
<para>
All <filename>pgcrypto</> functions run inside the database server.
</sect3>
<sect3>
- <title>Useful reading</title>
+ <title>Useful Reading</title>
<itemizedlist>
<listitem>
</sect3>
<sect3>
- <title>Technical references</title>
+ <title>Technical References</title>
<itemizedlist>
<listitem>
</sect2>
<sect2>
- <title>Sample output</title>
+ <title>Sample Output</title>
<screen>
postgres=# SELECT * FROM pg_freespace('foo');
</para>
<table id="pgrowlocks-columns">
- <title><function>pgrowlocks</> output columns</title>
+ <title><function>pgrowlocks</> Output Columns</title>
<tgroup cols="3">
<thead>
</sect2>
<sect2>
- <title>Sample output</title>
+ <title>Sample Output</title>
<screen>
test=# SELECT * FROM pgrowlocks('t1');
</sect2>
<sect2>
- <title>Supported server versions</title>
+ <title>Supported Server Versions</title>
<para>
<application>pg_standby</application> is designed to work with
</para>
<sect2>
- <title>The <structname>pg_stat_statements</structname> view</title>
+ <title>The <structname>pg_stat_statements</structname> View</title>
<para>
The statistics gathered by the module are made available via a system view
</para>
<table id="pgstatstatements-columns">
- <title><structname>pg_stat_statements</> columns</title>
+ <title><structname>pg_stat_statements</> Columns</title>
<tgroup cols="4">
<thead>
</sect2>
<sect2>
- <title>Configuration parameters</title>
+ <title>Configuration Parameters</title>
<variablelist>
<varlistentry>
</sect2>
<sect2>
- <title>Sample output</title>
+ <title>Sample Output</title>
<screen>
bench=# SELECT pg_stat_statements_reset();
</para>
<table id="pgstattuple-columns">
- <title><function>pgstattuple</function> output columns</title>
+ <title><function>pgstattuple</function> Output Columns</title>
<tgroup cols="3">
<thead>
<row>
<title>Functions and Operators</title>
<table id="pgtrgm-func-table">
- <title><filename>pg_trgm</filename> functions</title>
+ <title><filename>pg_trgm</filename> Functions</title>
<tgroup cols="3">
<thead>
<row>
</table>
<table id="pgtrgm-op-table">
- <title><filename>pg_trgm</filename> operators</title>
+ <title><filename>pg_trgm</filename> Operators</title>
<tgroup cols="3">
<thead>
<row>
</sect2>
<sect2 id="plperl-utility-functions">
- <title>Utility functions in PL/Perl</title>
+ <title>Utility Functions in PL/Perl</title>
<variablelist>
<varlistentry>
</note>
<example id="plpgsql-quote-literal-example">
- <title>Quoting values in dynamic queries</title>
+ <title>Quoting Values In Dynamic Queries</title>
<indexterm>
<primary>quote_ident</primary>
</sect3>
<sect3 id="plpgsql-integer-for">
- <title><literal>FOR</> (integer variant)</title>
+ <title><literal>FOR</> (Integer Variant)</title>
<synopsis>
<optional> <<<replaceable>label</replaceable>>> </optional>
</sect1>
<sect1 id="pltcl-unknown">
- <title>Modules and the <function>unknown</> command</title>
+ <title>Modules and the <function>unknown</> Command</title>
<para>
PL/Tcl has support for autoloading Tcl code when used.
It recognizes a special table, <literal>pltcl_modules</>, which
</sect2>
<sect2>
- <title>What to report</title>
+ <title>What to Report</title>
<para>
The most important thing to remember about bug reporting is to state all
</sect2>
<sect2>
- <title>Where to report bugs</title>
+ <title>Where to Report Bugs</title>
<para>
In general, send bug reports to the bug report mailing list at
</sect2>
<sect2 id="queries-window">
- <title>Window Function Processing</>
+ <title>Window Function Processing</title>
<indexterm zone="queries-window">
<primary>window function</primary>
<sect1 id="archive-recovery-settings">
- <title>Archive recovery settings</title>
+ <title>Archive Recovery Settings</title>
<variablelist>
<varlistentry id="restore-command" xreflabel="restore_command">
<sect1 id="recovery-target-settings">
- <title>Recovery target settings</title>
+ <title>Recovery Target Settings</title>
<variablelist>
<varlistentry id="recovery-target-time" xreflabel="recovery_target_time">
<sect1 id="standby-settings">
- <title>Standby server settings</title>
+ <title>Standby Server Settings</title>
<variablelist>
<varlistentry id="standby-mode" xreflabel="standby_mode">
</refsect2>
<refsect2>
- <title>Zero-column tables</title>
+ <title>Zero-Column Tables</title>
<para>
<productname>PostgreSQL</productname> allows a table of no columns
</refsect2>
<refsect2>
- <title><literal>WITH</> clause</title>
+ <title><literal>WITH</> Clause</title>
<para>
The <literal>WITH</> clause is a <productname>PostgreSQL</productname>
</refsect2>
<refsect2>
- <title>Options for single-user mode</title>
+ <title>Options for Single-User Mode</title>
<para>
The following options only apply to the single-user mode.
<title>Usage</title>
<refsect2 id="R2-APP-PSQL-connecting">
- <title>Connecting To A Database</title>
+ <title>Connecting to a Database</title>
<para>
<application>psql</application> is a regular
</refsect2>
<refsect2>
- <title>Advanced features</title>
+ <title>Advanced Features</title>
<refsect3 id="APP-PSQL-variables">
<title id="APP-PSQL-variables-title">Variables</title>
<refsect1>
- <title>Notes for Windows users</title>
+ <title>Notes for Windows Users</title>
<para>
<application>psql</application> is built as a <quote>console
</para>
<sect2>
- <title>Running the tests against a temporary installation</title>
+ <title>Running the Tests Against a Temporary Installation</title>
<para>
To run the parallel regression tests after building but before installation,
</sect2>
<sect2>
- <title>Running the tests against an existing installation</title>
+ <title>Running the Tests Against an Existing Installation</title>
<para>
To run the tests after installation<![%standalone-ignore;[ (see <xref linkend="installation">)]]>,
</sect2>
<sect2>
- <title>Locale and encoding</title>
+ <title>Locale and Encoding</title>
<para>
By default, the tests against a temporary installation use the
</para>
<sect2>
- <title>Error message differences</title>
+ <title>Error Message Differences</title>
<para>
Some of the regression tests involve intentional invalid input
</sect2>
<sect2>
- <title>Locale differences</title>
+ <title>Locale Differences</title>
<para>
If you run the tests against a server that was
</sect2>
<sect2>
- <title>Date and time differences</title>
+ <title>Date and Time Differences</title>
<para>
Most of the date and time results are dependent on the time zone
</sect2>
<sect2>
- <title>Floating-point differences</title>
+ <title>Floating-Point Differences</title>
<para>
Some of the tests involve computing 64-bit floating-point numbers (<type>double
</sect2>
<sect2>
- <title>Row ordering differences</title>
+ <title>Row Ordering Differences</title>
<para>
You might see differences in which the same rows are output in a
</sect2>
<sect2>
- <title>Insufficient stack depth</title>
+ <title>Insufficient Stack Depth</title>
<para>
If the <literal>errors</literal> test results in a server crash
</sect2>
<sect2>
- <title>The <quote>random</quote> test</title>
+ <title>The <quote>random</quote> Test</title>
<para>
The <literal>random</literal> test script is intended to produce
<title>Release 7.4.30</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2010-10-04</simpara>
</note>
<title>Release 7.4.29</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2010-05-17</simpara>
</note>
<title>Release 7.4.28</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2010-03-15</simpara>
</note>
<title>Release 7.4.27</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2009-12-14</simpara>
</note>
<title>Release 7.4.26</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2009-09-09</simpara>
</note>
<title>Release 7.4.25</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2009-03-16</simpara>
</note>
<title>Release 7.4.24</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2009-02-02</simpara>
</note>
<title>Release 7.4.23</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2008-11-03</simpara>
</note>
<title>Release 7.4.22</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2008-09-22</simpara>
</note>
<title>Release 7.4.21</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2008-06-12</simpara>
</note>
<title>Release 7.4.20</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>never released</simpara>
</note>
<title>Release 7.4.19</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2008-01-07</simpara>
</note>
<title>Release 7.4.18</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2007-09-17</simpara>
</note>
<title>Release 7.4.17</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2007-04-23</simpara>
</note>
<title>Release 7.4.16</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2007-02-05</simpara>
</note>
<title>Release 7.4.15</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2007-01-08</simpara>
</note>
<title>Release 7.4.14</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2006-10-16</simpara>
</note>
<title>Release 7.4.13</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2006-05-23</simpara>
</note>
<title>Release 7.4.12</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2006-02-14</simpara>
</note>
<title>Release 7.4.11</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2006-01-09</simpara>
</note>
<title>Release 7.4.10</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2005-12-12</simpara>
</note>
<title>Release 7.4.9</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2005-10-04</simpara>
</note>
<title>Release 7.4.8</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2005-05-09</simpara>
</note>
<title>Release 7.4.7</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2005-01-31</simpara>
</note>
<title>Release 7.4.6</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2004-10-22</simpara>
</note>
<title>Release 7.4.5</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2004-08-18</simpara>
</note>
<title>Release 7.4.4</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2004-08-16</simpara>
</note>
<title>Release 7.4.3</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2004-06-14</simpara>
</note>
<title>Release 7.4.2</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2004-03-08</simpara>
</note>
<title>Release 7.4.1</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2003-12-22</simpara>
</note>
<title>Release 7.4</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2003-11-17</simpara>
</note>
<title>Release 8.0.26</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2010-10-04</simpara>
</note>
<title>Release 8.0.25</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2010-05-17</simpara>
</note>
<title>Release 8.0.24</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2010-03-15</simpara>
</note>
<title>Release 8.0.23</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2009-12-14</simpara>
</note>
<title>Release 8.0.22</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2009-09-09</simpara>
</note>
<title>Release 8.0.21</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2009-03-16</simpara>
</note>
<title>Release 8.0.20</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2009-02-02</simpara>
</note>
<title>Release 8.0.19</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2008-11-03</simpara>
</note>
<title>Release 8.0.18</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2008-09-22</simpara>
</note>
<title>Release 8.0.17</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2008-06-12</simpara>
</note>
<title>Release 8.0.16</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>never released</simpara>
</note>
<title>Release 8.0.15</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2008-01-07</simpara>
</note>
<title>Release 8.0.14</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2007-09-17</simpara>
</note>
<title>Release 8.0.13</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2007-04-23</simpara>
</note>
<title>Release 8.0.12</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2007-02-07</simpara>
</note>
<title>Release 8.0.11</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2007-02-05</simpara>
</note>
<title>Release 8.0.10</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2007-01-08</simpara>
</note>
<title>Release 8.0.9</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2006-10-16</simpara>
</note>
<title>Release 8.0.8</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2006-05-23</simpara>
</note>
<title>Release 8.0.7</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2006-02-14</simpara>
</note>
<title>Release 8.0.6</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2006-01-09</simpara>
</note>
<title>Release 8.0.5</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2005-12-12</simpara>
</note>
<title>Release 8.0.4</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2005-10-04</simpara>
</note>
<title>Release 8.0.3</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2005-05-09</simpara>
</note>
<title>Release 8.0.2</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2005-04-07</simpara>
</note>
<title>Release 8.0.1</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2005-01-31</simpara>
</note>
<title>Release 8.0</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2005-01-19</simpara>
</note>
<title>Release 8.1.23</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2010-12-16</simpara>
</note>
<title>Release 8.1.22</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2010-10-04</simpara>
</note>
<title>Release 8.1.21</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2010-05-17</simpara>
</note>
<title>Release 8.1.20</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2010-03-15</simpara>
</note>
<title>Release 8.1.19</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2009-12-14</simpara>
</note>
<title>Release 8.1.18</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2009-09-09</simpara>
</note>
<title>Release 8.1.17</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2009-03-16</simpara>
</note>
<title>Release 8.1.16</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2009-02-02</simpara>
</note>
<title>Release 8.1.15</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2008-11-03</simpara>
</note>
<title>Release 8.1.14</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2008-09-22</simpara>
</note>
<title>Release 8.1.13</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2008-06-12</simpara>
</note>
<title>Release 8.1.12</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>never released</simpara>
</note>
<title>Release 8.1.11</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2008-01-07</simpara>
</note>
<title>Release 8.1.10</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2007-09-17</simpara>
</note>
<title>Release 8.1.9</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2007-04-23</simpara>
</note>
<title>Release 8.1.8</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2007-02-07</simpara>
</note>
<title>Release 8.1.7</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2007-02-05</simpara>
</note>
<title>Release 8.1.6</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2007-01-08</simpara>
</note>
<title>Release 8.1.5</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2006-10-16</simpara>
</note>
<title>Release 8.1.4</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2006-05-23</simpara>
</note>
<title>Release 8.1.3</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2006-02-14</simpara>
</note>
<title>Release 8.1.2</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2006-01-09</simpara>
</note>
<title>Release 8.1.1</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2005-12-12</simpara>
</note>
<title>Release 8.1</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2005-11-08</simpara>
</note>
<title>Release 8.2.20</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2011-01-31</simpara>
</note>
<title>Release 8.2.19</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2010-12-16</simpara>
</note>
<title>Release 8.2.18</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2010-10-04</simpara>
</note>
<title>Release 8.2.17</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2010-05-17</simpara>
</note>
<title>Release 8.2.16</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2010-03-15</simpara>
</note>
<title>Release 8.2.15</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2009-12-14</simpara>
</note>
<title>Release 8.2.14</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2009-09-09</simpara>
</note>
<title>Release 8.2.13</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2009-03-16</simpara>
</note>
<title>Release 8.2.12</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2009-02-02</simpara>
</note>
<title>Release 8.2.11</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2008-11-03</simpara>
</note>
<title>Release 8.2.10</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2008-09-22</simpara>
</note>
<title>Release 8.2.9</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2008-06-12</simpara>
</note>
<title>Release 8.2.8</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>never released</simpara>
</note>
<title>Release 8.2.7</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2008-03-17</simpara>
</note>
<title>Release 8.2.6</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2008-01-07</simpara>
</note>
<title>Release 8.2.5</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2007-09-17</simpara>
</note>
<title>Release 8.2.4</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2007-04-23</simpara>
</note>
<title>Release 8.2.3</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2007-02-07</simpara>
</note>
<title>Release 8.2.2</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2007-02-05</simpara>
</note>
<title>Release 8.2.1</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2007-01-08</simpara>
</note>
<title>Release 8.2</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2006-12-05</simpara>
</note>
<title>Release 8.3.14</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2011-01-31</simpara>
</note>
<title>Release 8.3.13</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2010-12-16</simpara>
</note>
<title>Release 8.3.12</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2010-10-04</simpara>
</note>
<title>Release 8.3.11</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2010-05-17</simpara>
</note>
<title>Release 8.3.10</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2010-03-15</simpara>
</note>
<title>Release 8.3.9</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2009-12-14</simpara>
</note>
<title>Release 8.3.8</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2009-09-09</simpara>
</note>
<title>Release 8.3.7</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2009-03-16</simpara>
</note>
<title>Release 8.3.6</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2009-02-02</simpara>
</note>
<title>Release 8.3.5</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2008-11-03</simpara>
</note>
<title>Release 8.3.4</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2008-09-22</simpara>
</note>
<title>Release 8.3.3</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2008-06-12</simpara>
</note>
<title>Release 8.3.2</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>never released</simpara>
</note>
<title>Release 8.3.1</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2008-03-17</simpara>
</note>
<title>Release 8.3</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2008-02-04</simpara>
</note>
<title>Release 8.4.7</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2011-01-31</simpara>
</note>
<title>Release 8.4.6</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2010-12-16</simpara>
</note>
<title>Release 8.4.5</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2010-10-04</simpara>
</note>
<title>Release 8.4.4</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2010-05-17</simpara>
</note>
<title>Release 8.4.3</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2010-03-15</simpara>
</note>
<title>Release 8.4.2</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2009-12-14</simpara>
</note>
<title>Release 8.4.1</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2009-09-09</simpara>
</note>
<title>Release 8.4</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2009-07-01</simpara>
</note>
<title>Release 9.0.3</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2011-01-31</simpara>
</note>
<title>Release 9.0.2</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2010-12-16</simpara>
</note>
<title>Release 9.0.1</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2010-10-04</simpara>
</note>
<title>Release 9.0</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2010-09-20</simpara>
</note>
<title>Release 7.3.21</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2008-01-07</simpara>
</note>
<title>Release 7.3.20</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2007-09-17</simpara>
</note>
<title>Release 7.3.19</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2007-04-23</simpara>
</note>
<title>Release 7.3.18</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2007-02-05</simpara>
</note>
<title>Release 7.3.17</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2007-01-08</simpara>
</note>
<title>Release 7.3.16</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2006-10-16</simpara>
</note>
<title>Release 7.3.15</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2006-05-23</simpara>
</note>
<title>Release 7.3.14</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2006-02-14</simpara>
</note>
<title>Release 7.3.13</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2006-01-09</simpara>
</note>
<title>Release 7.3.12</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2005-12-12</simpara>
</note>
<title>Release 7.3.11</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2005-10-04</simpara>
</note>
<title>Release 7.3.10</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2005-05-09</simpara>
</note>
<title>Release 7.3.9</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2005-01-31</simpara>
</note>
<title>Release 7.3.8</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2004-10-22</simpara>
</note>
<title>Release 7.3.7</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2004-08-16</simpara>
</note>
<title>Release 7.3.6</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2004-03-02</simpara>
</note>
<title>Release 7.3.5</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2003-12-03</simpara>
</note>
<title>Release 7.3.4</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2003-07-24</simpara>
</note>
<title>Release 7.3.3</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2003-05-22</simpara>
</note>
<title>Release 7.3.2</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2003-02-04</simpara>
</note>
<title>Release 7.3.1</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2002-12-18</simpara>
</note>
<title>Release 7.3</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2002-11-27</simpara>
</note>
<title>Release 7.2.8</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2005-05-09</simpara>
</note>
<title>Release 7.2.7</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2005-01-31</simpara>
</note>
<title>Release 7.2.6</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2004-10-22</simpara>
</note>
<title>Release 7.2.5</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2004-08-16</simpara>
</note>
<title>Release 7.2.4</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2003-01-30</simpara>
</note>
<title>Release 7.2.3</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2002-10-01</simpara>
</note>
<title>Release 7.2.2</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2002-08-23</simpara>
</note>
<title>Release 7.2.1</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2002-03-21</simpara>
</note>
<title>Release 7.2</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2002-02-04</simpara>
</note>
<title>Release 7.1.3</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2001-08-15</simpara>
</note>
<title>Release 7.1.2</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2001-05-11</simpara>
</note>
<title>Release 7.1.1</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2001-05-05</simpara>
</note>
<title>Release 7.1</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2001-04-13</simpara>
</note>
<title>Release 7.0.3</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2000-11-11</simpara>
</note>
<title>Release 7.0.2</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2000-06-05</simpara>
</note>
<title>Release 7.0.1</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2000-06-01</simpara>
</note>
<title>Release 7.0</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>2000-05-08</simpara>
</note>
<title>Release 6.5.3</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>1999-10-13</simpara>
</note>
<title>Release 6.5.2</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>1999-09-15</simpara>
</note>
<title>Release 6.5.1</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>1999-07-15</simpara>
</note>
<title>Release 6.5</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>1999-06-09</simpara>
</note>
<title>Release 6.4.2</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>1998-12-20</simpara>
</note>
<title>Release 6.4.1</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>1998-12-18</simpara>
</note>
<title>Release 6.4</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>1998-10-30</simpara>
</note>
<title>Release 6.3.2</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>1998-04-07</simpara>
</note>
<title>Release 6.3.1</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>1998-03-23</simpara>
</note>
<title>Release 6.3</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>1998-03-01</simpara>
</note>
<title>Release 6.2.1</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>1997-10-17</simpara>
</note>
<title>Release 6.2</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>1997-10-02</simpara>
</note>
<title>Release 6.1.1</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>1997-07-22</simpara>
</note>
<title>Release 6.1</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>1997-06-08</simpara>
</note>
<title>Release 6.0</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>1997-01-29</simpara>
</note>
<title>Release 1.09</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>1996-11-04</simpara>
</note>
<title>Release 1.02</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>1996-08-01</simpara>
</note>
<title>Release 1.01</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>1996-02-23</simpara>
</note>
<title>Release 1.0</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>1995-09-05</simpara>
</note>
<title><productname>Postgres95</productname> Release 0.03</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>1995-07-21</simpara>
</note>
<title><productname>Postgres95</productname> Release 0.02</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>1995-05-25</simpara>
</note>
<title><productname>Postgres95</productname> Release 0.01</title>
<note>
- <title>Release date</title>
+ <title>Release Date</title>
<simpara>1995-05-01</simpara>
</note>
</sect1>
<sect1 id="rules-triggers">
-<title>Rules versus Triggers</title>
+<title>Rules Versus Triggers</title>
<indexterm zone="rules-triggers">
<primary>rule</primary>
<table id="sysvipc-parameters">
- <title><systemitem class="osname">System V</> <acronym>IPC</> parameters</>
+ <title><systemitem class="osname">System V</> <acronym>IPC</> Parameters</title>
<tgroup cols="3">
<thead>
<indexterm><primary>BSD/OS</><secondary>IPC configuration</></>
<listitem>
<formalpara>
- <title>Shared Memory</>
+ <title>Shared Memory</title>
<para>
By default, only 4 MB of shared memory is supported. Keep in
mind that shared memory is not pageable; it is locked in RAM.
</formalpara>
<formalpara>
- <title>Semaphores</>
+ <title>Semaphores</title>
<para>
You will probably want to increase the number of semaphores
as well; the default system total of 60 will only allow about
<table id="shared-memory-parameters">
- <title><productname>PostgreSQL</productname> shared memory usage</>
+ <title><productname>PostgreSQL</productname> Shared Memory Usage</>
<tgroup cols="2">
<thead>
</para>
<sect2 id="ssl-client-certificates">
- <title>Using client certificates</title>
+ <title>Using Client Certificates</title>
<para>
To require the client to supply a trusted certificate, place
</para>
<table id="seg-repr-table">
- <title><type>seg</> external representations</title>
+ <title><type>seg</> External Representations</title>
<tgroup cols="2">
<tbody>
<row>
</table>
<table id="seg-input-examples">
- <title>Examples of valid <type>seg</> input</title>
+ <title>Examples of Valid <type>seg</> Input</title>
<tgroup cols="2">
<tbody>
<row>
</para>
<table id="seg-gist-operators">
- <title>Seg GiST operators</title>
+ <title>Seg GiST Operators</title>
<tgroup cols="2">
<thead>
<row>
<sect2 id="sepgsql-features">
<title>Features</title>
<sect3>
- <title>controlled object classes</title>
+ <title>Controlled Object Classes</title>
<para>
The security model of <productname>SELinux</> describes all the access
control rules as a relationship between a subject entity (typically,
</para>
<sect1 id="git">
- <title>Getting The Source Via <productname>Git</></title>
+ <title>Getting The Source via <productname>Git</></title>
<para>
With <productname>Git</> you will make a copy of the entire code repository
</para>
<simplesect>
- <title>What goes where</title>
+ <title>What Goes Where</title>
<para>
The primary message should be short, factual, and avoid reference to
</simplesect>
<simplesect>
- <title>Quotation marks</title>
+ <title>Quotation Marks</title>
<para>
English text should use double quotes when quoting is appropriate.
</simplesect>
<simplesect>
- <title>Use of quotes</title>
+ <title>Use of Quotes</title>
<para>
Use quotes always to delimit file names, user-supplied identifiers, and
</simplesect>
<simplesect>
- <title>Grammar and punctuation</title>
+ <title>Grammar and Punctuation</title>
<para>
The rules are different for primary error messages and for detail/hint
</simplesect>
<simplesect>
- <title>Upper case vs. lower case</title>
+ <title>Upper Case vs. Lower Case</title>
<para>
Use lower case for message wording, including the first letter of a
</simplesect>
<simplesect>
- <title>Avoid passive voice</title>
+ <title>Avoid Passive Voice</title>
<para>
Use the active voice. Use complete sentences when there is an acting
</simplesect>
<simplesect>
- <title>Present vs past tense</title>
+ <title>Present vs. Past Tense</title>
<para>
Use past tense if an attempt to do something failed, but could perhaps
</simplesect>
<simplesect>
- <title>Type of the object</title>
+ <title>Type of the Object</title>
<para>
When citing the name of an object, state what kind of object it is.
</simplesect>
<simplesect>
- <title>Assembling error messages</title>
+ <title>Assembling Error Messages</title>
<para>
When a message includes text that is generated elsewhere, embed it in
</simplesect>
<simplesect>
- <title>Reasons for errors</title>
+ <title>Reasons for Errors</title>
<para>
Messages should always state the reason why an error occurred.
</simplesect>
<simplesect>
- <title>Function names</title>
+ <title>Function Names</title>
<para>
Don't include the name of the reporting routine in the error text. We have
</simplesect>
<simplesect>
- <title>Tricky words to avoid</title>
+ <title>Tricky Words to Avoid</title>
<formalpara>
<title>Unable</title>
</simplesect>
<simplesect>
- <title>Proper spelling</title>
+ <title>Proper Spelling</title>
<para>
Spell out words in full. For instance, avoid:
</para>
<sect2 id="sql-syntax-calling-funcs-positional">
- <title>Using positional notation</title>
+ <title>Using Positional Notation</title>
<indexterm>
<primary>function</primary>
</sect2>
<sect2 id="sql-syntax-calling-funcs-named">
- <title>Using named notation</title>
+ <title>Using Named Notation</title>
<indexterm>
<primary>function</primary>
</sect2>
<sect2 id="sql-syntax-calling-funcs-mixed">
- <title>Using mixed notation</title>
+ <title>Using Mixed Notation</title>
<indexterm>
<primary>function</primary>
</para>
<table id="tablefunc-functions">
- <title><filename>tablefunc</> functions</title>
+ <title><filename>tablefunc</> Functions</title>
<tgroup cols="3">
<thead>
<row>
</para>
<table id="tablefunc-connectby-parameters">
- <title><function>connectby</function> parameters</title>
+ <title><function>connectby</function> Parameters</title>
<tgroup cols="2">
<thead>
<row>
</para>
<sect2>
- <title>Deprecation notice</title>
+ <title>Deprecation Notice</title>
<para>
From <productname>PostgreSQL</> 8.3 on, there is XML-related
</sect2>
<sect2>
- <title>Description of functions</title>
+ <title>Description of Functions</title>
<para>
<xref linkend="xml2-functions-table"> shows the functions provided by this module.
</para>
<sect3>
- <title>Multivalued results</title>
+ <title>Multivalued Results</title>
<para>
The <function>xpath_table</> function assumes that the results of each XPath query
</sect2>
<sect2>
- <title>XSLT functions</title>
+ <title>XSLT Functions</title>
<para>
The following functions are available if libxslt is installed: