OSDN Git Service

Markup fixes.
authorThomas G. Lockhart <lockhart@fourpalms.org>
Thu, 27 May 1999 15:49:08 +0000 (15:49 +0000)
committerThomas G. Lockhart <lockhart@fourpalms.org>
Thu, 27 May 1999 15:49:08 +0000 (15:49 +0000)
Update for v6.5 release.

doc/src/sgml/about.sgml
doc/src/sgml/docguide.sgml
doc/src/sgml/mvcc.sgml
doc/src/sgml/notation.sgml
doc/src/sgml/postgres.sgml
doc/src/sgml/y2k.sgml

index 5f43906..b143505 100644 (file)
@@ -1,18 +1,37 @@
-<Sect1>
-<Title>About This Release</Title>
+<sect1 id="about">
+ <title>About This Release</title>
 
-<Para>
-     <ProductName>PostgreSQL</ProductName>  is  available  without cost. This manual
-     describes version 6.4 of <ProductName>PostgreSQL</ProductName>.
-</Para>
-<Para>
-     We will use <ProductName>Postgres</ProductName> 
-to mean the version distributed as <ProductName>PostgreSQL</ProductName>.
-</Para>
-<Para>
-Check the Administrator's Guide for a list of currently supported machines. 
-In general,
-<ProductName>Postgres</ProductName> is portable to any Unix/Posix-compatible system
-with full libc library support.
-</Para>
-</Sect1>
+ <para>
+  <productname>PostgreSQL</productname>  is  available  without cost. This manual
+  describes version 6.5 of <productname>PostgreSQL</productname>.
+ </para>
+
+ <para>
+  We will use <productname>Postgres</productname> 
+  to mean the version distributed as <productname>PostgreSQL</productname>.
+ </para>
+
+ <para>
+  Check the Administrator's Guide for a list of currently supported machines. 
+  In general,
+  <productname>Postgres</productname> is portable to any Unix/Posix-compatible system
+  with full libc library support.
+ </para>
+</sect1>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:nil
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:1
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:"./reference.ced"
+sgml-exposed-tags:nil
+sgml-local-catalogs:"/usr/lib/sgml/catalog"
+sgml-local-ecat-files:nil
+End:
+-->
index 0d0900f..d16e3c1 100644 (file)
@@ -1,9 +1,13 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/docguide.sgml,v 1.14 1999/01/07 03:01:27 thomas Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/docguide.sgml,v 1.15 1999/05/27 15:49:07 thomas Exp $
 Documentation Guide
 Thomas Lockhart
 
 $Log: docguide.sgml,v $
+Revision 1.15  1999/05/27 15:49:07  thomas
+Markup fixes.
+Update for v6.5 release.
+
 Revision 1.14  1999/01/07 03:01:27  thomas
 Fix column formatting for a table. No content changes.
 
@@ -42,155 +46,155 @@ Include working list of all documentation sources, with current status
 
 -->
 
-<appendix label="A" Id="docguide">
-<docinfo>
-<authorgroup>
-<author>
-<firstname>Thomas</firstname>
-<surname>Lockhart</surname>
-</author>
-<author>
-<firstname>Tom Ivar</firstname>
-<surname>Helbekkmo</surname>
-</author>
-</authorgroup>
-<date>1998-04-28</date>
-</docinfo>
-
-<title>Documentation</title>
-
-<para>
-The purpose of documentation is to make <productname>Postgres</productname>
-easier to learn, use, and develop.
-The documentation set should describe the <productname>Postgres</productname>
-system, language, and interfaces.
-It should be able to answer
-common questions and to allow a user to find those answers on his own
-without resorting to mailing list support.
-</para>
-
-<sect1>
-<title>Documentation Roadmap</title>
-
-<para>
-<productname>Postgres</productname> has four primary documentation
-formats:
-
-<itemizedlist>
-<listitem><para>
-Plain text for pre-installation information.
-</para></listitem>
-<listitem><para>
-<acronym>HTML</acronym>, for on-line browsing and reference.
-</para></listitem>
-<listitem><para>
-Hardcopy, for in-depth reading and reference.
-</para></listitem>
-<listitem><para>
-<acronym>man pages</acronym>, for quick reference.
-</para></listitem>
-</itemizedlist>
-</para>
-
-<para>
-<table tocentry="1">
-<title><ProductName>Postgres</ProductName> Documentation Products</title>
-<tgroup cols="2">
-<thead>
-<row>
-<entry>
-File
-</entry>
-<entry>
-Description
-</entry>
-</row>
-</thead>
-
-<tbody>
-<row><entry> ./COPYRIGHT       </entry><entry> Copyright notice        </entry></row>
-<row><entry> ./INSTALL </entry><entry> Installation instructions (text from sgml->rtf->text)   </entry></row>
-<row><entry> ./README  </entry><entry> Introductory info       </entry></row>
-<row><entry> ./register.txt    </entry><entry> Registration message during make        </entry></row>
-<row><entry> ./doc/bug.template        </entry><entry> Bug report template     </entry></row>
-<row><entry> ./doc/postgres.tar.gz     </entry><entry> Integrated docs (<acronym>HTML</acronym>)       </entry></row>
-<row><entry> ./doc/programmer.ps.gz    </entry><entry> Programmer's Guide (Postscript) </entry></row>
-<row><entry> ./doc/programmer.tar.gz   </entry><entry> Programmer's Guide (<acronym>HTML</acronym>)    </entry></row>
-<row><entry> ./doc/reference.ps.gz     </entry><entry> Reference Manual (Postscript)   </entry></row>
-<row><entry> ./doc/reference.tar.gz    </entry><entry> Reference Manual (<acronym>HTML</acronym>)      </entry></row>
-<row><entry> ./doc/tutorial.ps.gz      </entry><entry> Introduction (Postscript)       </entry></row>
-<row><entry> ./doc/tutorial.tar.gz     </entry><entry> Introduction (<acronym>HTML</acronym>)  </entry></row>
-<row><entry> ./doc/user.ps.gz  </entry><entry> User's Guide (Postscript)       </entry></row>
-<row><entry> ./doc/user.tar.gz </entry><entry> User's Guide (<acronym>HTML</acronym>)  </entry></row>
-</tbody>
-</tgroup>
-</table>
-</para>
-
-<para>
-There are man pages available for installation, as well as a large number
-of plain-text README-type files throughout the <productname>Postgres</productname>
-source tree.
-</para>
-</sect1>
-
-<sect1>
-<title>The Documentation Project</title>
-
-<para>
-Packaged documentation is available in both
-<acronym>HTML</acronym> and <firstterm>Postscript</firstterm>
-formats. These are available as part of the standard
-<productname>Postgres</productname> installation. We discuss here
-working with the documentation sources and generating documentation
-packages.
-</para>
-
-<para>
-The purpose of <productname>DocBook</productname> <acronym>SGML</acronym>
- is to allow an author to
-specify the structure and content of a document (e.g. using the
-<productname>DocBook</productname> <acronym>DTD</acronym>),  and to
-have a document style define how that content is rendered into a
-final form (e.g. using Norm Walsh's 
-<productname>Modular Style Sheets</productname>).</para>
-
-
-<para>
-See <ulink url="http://nis-www.lanl.gov/~rosalia/mydocs/docbook-intro.html">
-Introduction to DocBook</ulink> for a nice "quickstart" summary of
-DocBook features.
-<ulink url="http://www.ora.com/homepages/dtdparse/docbook/3.0/"> DocBook Elements</ulink>
-provides a powerful cross-reference for features of
-<productname>DocBook</productname>.
-</para>
-
-<para>
-This documentation set is constructed using several tools, including
-James Clark's 
-<ulink url="http://www.jclark.com/jade/"> <productname>jade</productname></ulink>
- and Norm Walsh's 
-<ulink url="http://www.berkshire.net/~norm/docbook/dsssl">Modular DocBook Stylesheets</ulink>.
-</para>
-
-<para>
-Currently, hardcopy is produced by importing <firstterm>Rich Text
-Format</firstterm> (<acronym>RTF</acronym>) output from
-<application>jade</application> into
-<productname>ApplixWare</productname> for minor formatting fixups then
-exporting as a Postscript file.</para>
-
-
-<para>
-<ulink url="http://sunsite.unc.edu/pub/packages/TeX/systems/unix/">
-<productname>TeX</productname></ulink> is a supported format for
-<application>jade</application> output, but was not used at this time
-for several reasons, including the inability to make minor format
-fixes before committing to hardcopy and generally inadequate table
-support in the <productname>TeX</productname>
-stylesheets.</para>
-
-</sect1>
+<appendix label="DG2" id="docguide">
+ <docinfo>
+  <authorgroup>
+   <author>
+    <firstname>Thomas</firstname>
+    <surname>Lockhart</surname>
+   </author>
+   <author>
+    <firstname>Tom Ivar</firstname>
+    <surname>Helbekkmo</surname>
+   </author>
+  </authorgroup>
+  <date>1999-05-27</date>
+ </docinfo>
+
+ <title>Documentation</title>
+
+ <para>
+  The purpose of documentation is to make <productname>Postgres</productname>
+  easier to learn, use, and develop.
+  The documentation set should describe the <productname>Postgres</productname>
+  system, language, and interfaces.
+  It should be able to answer
+  common questions and to allow a user to find those answers on his own
+  without resorting to mailing list support.
+ </para>
+
+ <sect1>
+  <title>Documentation Roadmap</title>
+
+  <para>
+   <productname>Postgres</productname> has four primary documentation
+   formats:
+
+   <itemizedlist>
+    <listitem><para>
+      Plain text for pre-installation information.
+     </para></listitem>
+    <listitem><para>
+      <acronym>HTML</acronym>, for on-line browsing and reference.
+     </para></listitem>
+    <listitem><para>
+      Hardcopy, for in-depth reading and reference.
+     </para></listitem>
+    <listitem><para>
+      <acronym>man pages</acronym>, for quick reference.
+     </para></listitem>
+   </itemizedlist>
+  </para>
+
+  <para>
+   <table tocentry="1">
+    <title><productname>Postgres</productname> Documentation Products</title>
+    <tgroup cols="2">
+     <thead>
+      <row>
+       <entry>
+       File
+       </entry>
+       <entry>
+       Description
+       </entry>
+      </row>
+     </thead>
+
+     <tbody>
+      <row><entry>./COPYRIGHT</entry><entry>Copyright notice</entry></row>
+      <row><entry>./INSTALL</entry><entry>Installation instructions (text from sgml->rtf->text)</entry></row>
+      <row><entry>./README</entry><entry>Introductory info</entry></row>
+      <row><entry>./register.txt</entry><entry>Registration message during make</entry></row>
+      <row><entry>./doc/bug.template</entry><entry>Bug report template</entry></row>
+      <row><entry>./doc/postgres.tar.gz</entry><entry>Integrated docs (<acronym>HTML</acronym>)</entry></row>
+      <row><entry>./doc/programmer.ps.gz</entry><entry>Programmer's Guide (Postscript)</entry></row>
+      <row><entry>./doc/programmer.tar.gz</entry><entry>Programmer's Guide (<acronym>HTML</acronym>)</entry></row>
+      <row><entry>./doc/reference.ps.gz</entry><entry>Reference Manual (Postscript)</entry></row>
+      <row><entry>./doc/reference.tar.gz</entry><entry>Reference Manual (<acronym>HTML</acronym>)</entry></row>
+      <row><entry>./doc/tutorial.ps.gz</entry><entry>Introduction (Postscript)</entry></row>
+      <row><entry>./doc/tutorial.tar.gz</entry><entry>Introduction (<acronym>HTML</acronym>)</entry></row>
+      <row><entry>./doc/user.ps.gz</entry><entry>User's Guide (Postscript)</entry></row>
+      <row><entry>./doc/user.tar.gz</entry><entry>User's Guide (<acronym>HTML</acronym>)</entry></row>
+     </tbody>
+    </tgroup>
+   </table>
+  </para>
+
+  <para>
+   There are man pages available for installation, as well as a large number
+   of plain-text README-type files throughout the <productname>Postgres</productname>
+   source tree.
+  </para>
+ </sect1>
+
+ <sect1>
+  <title>The Documentation Project</title>
+
+  <para>
+   Packaged documentation is available in both
+   <acronym>HTML</acronym> and <firstterm>Postscript</firstterm>
+   formats. These are available as part of the standard
+   <productname>Postgres</productname> installation. We discuss here
+   working with the documentation sources and generating documentation
+   packages.
+  </para>
+
+  <para>
+   The documentation sources are written using <acronym>SGML</acronym>
+   markup of plain text files.
+   The purpose of <productname>DocBook</productname> <acronym>SGML</acronym>
+   is to allow an author to
+   specify the structure and content of a technical document (using the
+   <productname>DocBook</productname> <acronym>DTD</acronym>),  and to
+   have a document style define how that content is rendered into a
+   final form (e.g. using Norm Walsh's 
+   <productname>Modular Style Sheets</productname>).</para>
+
+  <para>
+   See
+   <ulink url="http://nis-www.lanl.gov/~rosalia/mydocs/docbook-intro.html">Introduction to DocBook</ulink>
+   for a nice "quickstart" summary of DocBook features.
+   <ulink url="http://www.ora.com/homepages/dtdparse/docbook/3.0/"> DocBook Elements</ulink>
+   provides a powerful cross-reference for features of
+   <productname>DocBook</productname>.
+  </para>
+
+  <para>
+   This documentation set is constructed using several tools, including
+   James Clark's 
+   <ulink url="http://www.jclark.com/jade/"> <productname>jade</productname></ulink>
+   and Norm Walsh's 
+   <ulink url="http://www.berkshire.net/~norm/docbook/dsssl">Modular DocBook Stylesheets</ulink>.
+  </para>
+
+  <para>
+   Currently, hardcopy is produced by importing
+   <firstterm>Rich Text Format</firstterm> (<acronym>RTF</acronym>) output from
+   <application>jade</application> into
+   <productname>ApplixWare</productname> for minor formatting fixups, then
+   exporting as a Postscript file.</para>
+
+  <para>
+   <ulink url="http://sunsite.unc.edu/pub/packages/TeX/systems/unix/">
+    <productname>TeX</productname></ulink> is a supported format for
+   <application>jade</application> output, but was not used at this time
+   for several reasons, including the inability to make minor format
+   fixes before committing to hardcopy and generally inadequate table
+   support in the <productname>TeX</productname>
+   stylesheets.</para>
+
+ </sect1>
 
 <sect1>
 <title>Documentation Sources</title>
@@ -352,7 +356,7 @@ Too much tabular info and not very helpful in hardcopy.
 
 <para>
 <table tocentry="1">
-<title><ProductName>Postgres</ProductName> Documentation Sources</title>
+<title><productname>Postgres</productname> Documentation Sources</title>
 <tgroup cols="3">
 <thead>
 <row>
@@ -526,7 +530,7 @@ Status
 
 <para>
 <table tocentry="1">
-<title><ProductName>Postgres</ProductName> Documentation Sources</title>
+<title><productname>Postgres</productname> Documentation Sources</title>
 <tgroup cols="3">
 <thead>
 <row>
@@ -964,138 +968,141 @@ by typing
 </programlisting>
 </para></sect1>
 
-<sect1>
-<title>Hardcopy Generation for v6.4</title>
-
-<para>
-The hardcopy Postscript documentation is generated by converting the
-<acronym>SGML</acronym> source code to <acronym>RTF</acronym>, then
-importing into <productname>ApplixWare-4.4.1</productname>. 
-After a little cleanup (see the following
-section) the output is "printed" to a postscript file.
-</para>
+ <sect1>
+  <title>Hardcopy Generation for v6.5</title>
 
-<para>
-Some figures were redrawn to avoid having bitmap
-<acronym>GIF</acronym> files in the hardcopy documentation. One
-figure, of the system catalogs, was sufficiently complex that there
-was  not time to redraw it. It was converted to fit using the
-following commands:
+  <para>
+   The hardcopy Postscript documentation is generated by converting the
+   <acronym>SGML</acronym> source code to <acronym>RTF</acronym>, then
+   importing into <productname>ApplixWare-4.4.1</productname>. 
+   After a little cleanup (see the following
+   section) the output is "printed" to a postscript file.
+  </para>
 
-<programlisting>
+<!--
+  <para>
+   Some figures were redrawn to avoid having bitmap
+   <acronym>GIF</acronym> files in the hardcopy documentation. One
+   figure, of the system catalogs, was sufficiently complex that there
+   was  not time to redraw it. It was converted to fit using the
+   following commands:
+
+   <programlisting>
 % convert -monochrome -v -geometry 500x500'>' catalogs.ps catalogs.gif
 % convert -v -crop 400x500 catalogs.gif catalogs-cropped.gif
-</programlisting>
+   </programlisting>
 
-</para>
+  </para>
+-->
 
-<sect2>
-<title><acronym>RTF</acronym> Cleanup Procedure</title>
+  <sect2>
+   <title><acronym>RTF</acronym> Cleanup Procedure</title>
 
-<para>
-Several items must be addressed in generating Postscript
-hardcopy:</para>
+   <para>
+    Several items must be addressed in generating Postscript
+    hardcopy:</para>
 
-<procedure>
-<title>Applixware <acronym>RTF</acronym> Cleanup</title>
+   <procedure>
+    <title>Applixware <acronym>RTF</acronym> Cleanup</title>
 
-<para>
-Applixware does not seem to do a complete job of importing <acronym>RTF</acronym>
-generated by jade/MSS. In particular, all text is given the
-<quote>Header1</quote> style attribute label, although the text
-formatting itself is acceptable. Also, the Table of Contents page
-numbers do not refer to the section listed in the table, but rather
-refer to the page of the ToC itself.</para>
+    <para>
+     Applixware does not seem to do a complete job of importing <acronym>RTF</acronym>
+     generated by jade/MSS. In particular, all text is given the
+     <quote>Header1</quote> style attribute label, although the text
+     formatting itself is acceptable. Also, the Table of Contents page
+     numbers do not refer to the section listed in the table, but rather
+     refer to the page of the ToC itself.</para>
 
-<step performance="required">
-<para>
-Generate the <acronym>RTF</acronym> input by typing
-<programlisting>
+    <step performance="required">
+     <para>
+      Generate the <acronym>RTF</acronym> input by typing
+      <programlisting>
 % cd doc/src/sgml
 % make tutorial.rtf
-</programlisting>
-</para>
-</step>
-
-<step performance="required">
-<para>
-Open a new document in <productname>Applix Words</productname> and
-then import the <acronym>RTF</acronym> file.
-</para>
-</step>
-
-<step performance="required">
-<para>
-Print out the existing Table of Contents, to mark up in the following
-few steps.
-</para>
-</step>
-
-<step performance="required">
-<para>
-Insert figures into the document. Center each figure on the page using
-the centering margins button.</para>
-
-<para>
-Not all documents have figures. You can grep the <acronym>SGML</acronym> source files for
-the string <quote>Graphic</quote> to identify those parts of the
-documentation which may have figures. A few figures are replicated in
-various parts of the documentation.
-</para>
-</step>
-
-<step performance="required">
-<para>
-Work through the document, adjusting page breaks and table column
-widths.
-</para>
-</step>
-
-<step performance="required">
-<para>
-If a bibliography is present, Applix Words seems to mark all remaining
-text after the first title as having an underlined attribute. Select
-all remaining text, turn off underlining using the underlining button,
-then explicitly underline each document and book title.
-</para>
-</step>
-
-<step performance="required">
-<para>
-Work through the document, marking up the ToC hardcopy with the actual
-page number of each ToC entry.
-</para>
-</step>
-
-<step performance="required">
-<para>
-Replace the right-justified incorrect page numbers in the ToC with
-correct values. This only takes a few minutes per document.
-</para>
-</step>
-
-<step performance="required">
-<para>
-Save the document as native Applix Words format to allow easier last
-minute editing later.
-</para>
-</step>
-
-<step performance="required">
-<para>
-Export the document to a file in Postscript format.
-</para>
-</step>
-
-<step performance="required">
-<para>
-Compress the Postscript file using <application>gzip</application>.
-Place the compressed file into the <filename>doc</filename> directory.
-</para>
-</step>
-</procedure>
-
-</sect2>
+      </programlisting>
+     </para>
+    </step>
+
+    <step performance="required">
+     <para>
+      Open a new document in <productname>Applix Words</productname> and
+      then import the <acronym>RTF</acronym> file.
+     </para>
+    </step>
+
+    <step performance="required">
+     <para>
+      Print out the existing Table of Contents, to mark up in the following
+      few steps.
+     </para>
+    </step>
+
+    <step performance="required">
+     <para>
+      Insert figures into the document. Center each figure on the page using
+      the centering margins button.</para>
+
+     <para>
+      Not all documents have figures.
+      You can grep the <acronym>SGML</acronym> source files for
+      the string <quote>Graphic</quote> to identify those parts of the
+      documentation which may have figures. A few figures are replicated in
+      various parts of the documentation.
+     </para>
+    </step>
+
+    <step performance="required">
+     <para>
+      Work through the document, adjusting page breaks and table column
+      widths.
+     </para>
+    </step>
+
+    <step performance="required">
+     <para>
+      If a bibliography is present, Applix Words seems to mark all remaining
+      text after the first title as having an underlined attribute. Select
+      all remaining text, turn off underlining using the underlining button,
+      then explicitly underline each document and book title.
+     </para>
+    </step>
+
+    <step performance="required">
+     <para>
+      Work through the document, marking up the ToC hardcopy with the actual
+      page number of each ToC entry.
+     </para>
+    </step>
+
+    <step performance="required">
+     <para>
+      Replace the right-justified incorrect page numbers in the ToC with
+      correct values. This only takes a few minutes per document.
+     </para>
+    </step>
+
+    <step performance="required">
+     <para>
+      Save the document as native Applix Words format to allow easier last
+      minute editing later.
+     </para>
+    </step>
+
+    <step performance="required">
+     <para>
+      Export the document to a file in Postscript format.
+     </para>
+    </step>
+
+    <step performance="required">
+     <para>
+      Compress the Postscript file using <application>gzip</application>.
+      Place the compressed file into the <filename>doc</filename> directory.
+     </para>
+    </step>
+   </procedure>
+
+  </sect2>
 </sect1>
 
 <sect1>
@@ -1660,7 +1667,7 @@ Run <productname>texhash</productname> to update the tex database.
 <!-- Keep this comment at the end of the file
 Local variables:
 mode: sgml
-sgml-omittag:t
+sgml-omittag:nil
 sgml-shorttag:t
 sgml-minimize-attributes:nil
 sgml-always-quote-attributes:t
index edf0ef7..2ce81ac 100644 (file)
     Unlike most other database systems which use locks for concurrency control,
     <productname>Postgres</productname>
     maintains data consistency by using a multiversion model. 
-    This means that while querying database each transaction sees
+    This means that while querying database each transaction sees
     a snapshot of data (a <firstterm>database version</firstterm>)
     as it was some
-    time ago, regardless of the current state of data queried.
+    time ago, regardless of the current state of the underlying data.
     This protects the transaction from viewing inconsistent data that
     could be caused by (other) concurrent transaction updates on the same
     data rows, providing <firstterm>transaction isolation</firstterm>
    </para>
 
    <para>
-    Accordingly, the four isolation levels are defined to be:
-
-    <segmentedlist>
-     <segtitle>
-      Isolation Level
-     </segtitle>
-     <segtitle>
-      Dirty Read
-     </segtitle>
-     <segtitle>
-      Non-Repeatable Read
-     </segtitle>
-     <segtitle>
-      Phantom Read
-     </segtitle>
-     <seglistitem>
-      <seg>
-       Read uncommitted
-      </seg>
-      <seg>
-       Possible
-      </seg>
-      <seg>
-       Possible
-      </seg>
-      <seg>
-       Possible
-      </seg>
-     </seglistitem>
-
-     <seglistitem>
-      <seg>
-       Read committed
-      </seg>
-      <seg>
-       Not possible
-      </seg>
-      <seg>
-       Possible
-      </seg>
-      <seg>
-       Possible
-      </seg>
-     </seglistitem>
-
-     <seglistitem>
-      <seg>
-       Repeatable read
-      </seg>
-      <seg>
-       Not possible
-      </seg>
-      <seg>
-       Not possible
-      </seg>
-      <seg>
-       Possible
-      </seg>
-     </seglistitem>
-
-     <seglistitem>
-      <seg>
-       Serializable
-      </seg>
-      <seg>
-       Not possible
-      </seg>
-      <seg>
-       Not possible
-      </seg>
-      <seg>
-       Not possible
-      </seg>
-     </seglistitem>
-    </segmentedlist>
+    The four isolation levels and the corresponding behaviors are described below.
+
+    <table tocentry="1">
+     <title><productname>Postgres</productname> Isolation Levels</title>
+     <titleabbrev>Isolation Levels</titleabbrev>
+     <tgroup cols="4">
+      <thead>
+       <row>
+       <entry>
+        Dirty Read
+       </entry>
+       <entry>
+        Non-Repeatable Read
+       </entry>
+       <entry>
+        Phantom Read
+       </entry>
+       </row>
+      </thead>
+      <tbody>
+       <row>
+       <entry>
+        Read uncommitted
+       </entry>
+       <entry>
+        Possible
+       </entry>
+       <entry>
+        Possible
+       </entry>
+       <entry>
+        Possible
+       </entry>
+       </row>
+
+       <row>
+       <entry>
+        Read committed
+       </entry>
+       <entry>
+        Not possible
+       </entry>
+       <entry>
+        Possible
+       </entry>
+       <entry>
+        Possible
+       </entry>
+       </row>
+
+       <row>
+       <entry>
+        Repeatable read
+       </entry>
+       <entry>
+        Not possible
+       </entry>
+       <entry>
+        Not possible
+       </entry>
+       <entry>
+        Possible
+       </entry>
+       </row>
+
+       <row>
+       <entry>
+        Serializable
+       </entry>
+       <entry>
+        Not possible
+       </entry>
+       <entry>
+        Not possible
+       </entry>
+       <entry>
+        Not possible
+       </entry>
+       </row>
+      </tbody>
+     </tgroup>
+    </table>
 
     <productname>Postgres</productname>
     offers the read committed and serializable isolation levels.
    <title>Read Committed Isolation Level</title>
 
    <para>
-    This is the default isolation level in <productname>Postgres</productname>. 
+    <firstterm>Read Committed</firstterm>
+    is the default isolation level in <productname>Postgres</productname>. 
     When a transaction runs on this isolation level, a query sees only
     data committed before the query began and never sees either dirty data or
     concurrent transaction changes committed during query execution.
    </para>
 
    <para>
-    Note that the results of execution of SELECT or INSERT (with a query) 
+    Note that the results of execution of <command>SELECT</command>
+    or <command>INSERT</command> (with a query) 
     statements will not be affected by concurrent transactions.
    </para>
   </sect1>
    <title>Serializable Isolation Level</title>
 
    <para>
-    This level provides the highest transaction isolation. When a
-    transaction is on the <firstterm>serializable</firstterm> level,
+    <firstterm>Serializable</firstterm> provides the highest transaction isolation.
+    When a
+    transaction is on the serializable level,
     a query sees only data
     committed before the transaction began and never see either dirty data
     or concurrent transaction changes committed during transaction
    </para>
 
    <para>
-    If a row returned by query while executing
-    <command>UPDATE</command>/<command>DELETE</command>/<command>SELECT FOR UPDATE</command>
+    If a row returned by query while executing a
+    <command>UPDATE</command>
+    (or <command>DELETE</command> or <command>SELECT FOR UPDATE</command>)
     statement is being updated by
     a concurrent uncommitted transaction then the second transaction
     that tries to update this row will wait for the other transaction to
@@ -394,8 +405,8 @@ ERROR:  Can't serialize access due to concurrent update
 
         <note>
          <para>
-          Note that only AccessExclusiveLock blocks <command>SELECT</command> (without FOR
-          UPDATE) statement.
+          Only AccessExclusiveLock blocks <command>SELECT</command> (without
+          <option>FOR UPDATE</option>) statement.
          </para>
         </note>
        </para>
@@ -409,11 +420,11 @@ ERROR:  Can't serialize access due to concurrent update
     <title>Row-level locks</title>
 
     <para>
-     These locks are acquired by means of modification of internal
-     fields of row being updated/deleted/marked for update.
+     These locks are acquired when internal
+     fields of a row are being updated (or deleted or marked for update).
      <productname>Postgres</productname>
      doesn't remember any information about modified rows in memory and
-     so hasn't limit for locked rows without lock escalation.
+     so has no limit to the number of rows locked without lock escalation.
     </para>
 
     <para>
@@ -434,7 +445,8 @@ ERROR:  Can't serialize access due to concurrent update
    <para>
     Though <productname>Postgres</productname>
     provides unblocking read/write access to table
-    data, it is not the case for all index access methods implemented
+    data, unblocked read/write access is not provided for every
+    index access methods implemented
     in <productname>Postgres</productname>.
    </para>
 
@@ -448,7 +460,7 @@ ERROR:  Can't serialize access due to concurrent update
       </term>
       <listitem>
        <para>
-       Share/exclusive INDEX-level locks are used for read/write access.
+       Share/exclusive index-level locks are used for read/write access.
        Locks are released after statement is done.
        </para>
       </listitem>
@@ -460,7 +472,7 @@ ERROR:  Can't serialize access due to concurrent update
       </term>
       <listitem>
        <para>
-       Share/exclusive PAGE-level locks are used for read/write access.
+       Share/exclusive page-level locks are used for read/write access.
        Locks are released after page is processed.
        </para>
 
@@ -477,13 +489,13 @@ ERROR:  Can't serialize access due to concurrent update
       </term>
       <listitem>
        <para>
-       Short-term share/exclusive PAGE-level latches are used for
+       Short-term share/exclusive page-level latches are used for
        read/write access. Latches are released immediately after the index
        tuple is inserted/fetched.
        </para>
 
        <para>
-       Btree indices provide highest concurrency without deadlock
+       Btree indices provide the highest concurrency without deadlock
        conditions.
        </para>
       </listitem>
@@ -503,8 +515,8 @@ ERROR:  Can't serialize access due to concurrent update
     by <command>SELECT</command> it doesn't mean that this row really
     exists at the time it is returned (i.e. sometime after the
     statement or transaction began) nor
-    that the row is protected from deletion/updation by concurrent
-    transactions before the current transaction commit or rollback. 
+    that the row is protected from deletion or update by concurrent
+    transactions before the current transaction does a commit or rollback. 
    </para>
 
    <para>
index eec348a..712ebd1 100644 (file)
 <sect1>
-<title>Terminology</title>
+ <title>Terminology</title>
 
-<para>
-In the following documentation,
-<firstterm>site</firstterm>
-may be interpreted as the host machine on which 
-<Productname>Postgres</Productname> is installed.
-Since it is possible to install more than one set of 
-<Productname>Postgres</Productname>
-databases on a single host, this term more precisely denotes any
-particular set of installed 
-<Productname>Postgres</Productname> binaries and databases.
-</para>
+ <para>
+  In the following documentation,
+  <firstterm>site</firstterm>
+  may be interpreted as the host machine on which 
+  <Productname>Postgres</Productname> is installed.
+  Since it is possible to install more than one set of 
+  <Productname>Postgres</Productname>
+  databases on a single host, this term more precisely denotes any
+  particular set of installed 
+  <Productname>Postgres</Productname> binaries and databases.
+ </para>
 
-<para>
-The 
-<Productname>Postgres</Productname> <firstterm>superuser</firstterm>
-is the user named <replaceable>postgres</replaceable>
- who owns the <Productname>Postgres</Productname>
-binaries and database files.  As the database superuser, all
-protection mechanisms may be bypassed and any data accessed
-arbitrarily.  
-In addition, the <Productname>Postgres</Productname> superuser is allowed to execute
-some support programs which are generally not available to all users.
-Note that the <Productname>Postgres</Productname> superuser is
-<emphasis>not</emphasis>
-the same as the Unix superuser (which will be referred to as <firstterm>root</firstterm>).
-The superuser should have a non-zero user identifier (<firstterm>UID</firstterm>)
-for security reasons.
-</para>
+ <para>
+  The 
+  <Productname>Postgres</Productname> <firstterm>superuser</firstterm>
+  is the user named <replaceable>postgres</replaceable>
 who owns the <Productname>Postgres</Productname>
+  binaries and database files.  As the database superuser, all
+  protection mechanisms may be bypassed and any data accessed
+  arbitrarily.  
+  In addition, the <Productname>Postgres</Productname> superuser is allowed to execute
+  some support programs which are generally not available to all users.
+  Note that the <Productname>Postgres</Productname> superuser is
+  <emphasis>not</emphasis>
+  the same as the Unix superuser (which will be referred to as <firstterm>root</firstterm>).
+  The superuser should have a non-zero user identifier (<firstterm>UID</firstterm>)
+  for security reasons.
+ </para>
 
-<para>
-The
-<firstterm>database administrator</firstterm>
-or <acronym>DBA</acronym>, is the person who is responsible for installing 
-<Productname>Postgres</Productname> with mechanisms to
-enforce a security policy for a site.  The DBA can add new users by
-the method described below 
-and maintain a set of template databases for use by
-<application>createdb</application>.
-</para>
+ <para>
+  The
+  <firstterm>database administrator</firstterm>
+  or <acronym>DBA</acronym>, is the person who is responsible for installing 
+  <Productname>Postgres</Productname> with mechanisms to
+  enforce a security policy for a site.  The DBA can add new users by
+  the method described below 
+  and maintain a set of template databases for use by
+  <application>createdb</application>.
+ </para>
 
-<para>
-The <application>postmaster</application>
-is the process that acts as a clearing-house for requests 
-to the <Productname>Postgres</Productname> system.
-Frontend applications connect to the <application>postmaster</application>,
-which keeps tracks of any system errors and communication between the
-backend processes.  The <application>postmaster</application>
-can take several command-line arguments to tune its behavior.
-However, supplying arguments is necessary only if you intend to run multiple
-sites or a non-default site.
-</para>
+ <para>
+  The <application>postmaster</application>
+  is the process that acts as a clearing-house for requests 
+  to the <Productname>Postgres</Productname> system.
+  Frontend applications connect to the <application>postmaster</application>,
+  which keeps tracks of any system errors and communication between the
+  backend processes.  The <application>postmaster</application>
+  can take several command-line arguments to tune its behavior.
+  However, supplying arguments is necessary only if you intend to run multiple
+  sites or a non-default site.
+ </para>
 
-<para>
-The <Productname>Postgres</Productname> backend
-(the actual executable program <application>postgres</application>) may be executed
-directly from the user shell by the 
-<Productname>Postgres</Productname> super-user 
-(with the database name as an argument).  However,
-doing this bypasses the shared buffer pool and lock table associated
-with a postmaster/site, therefore this is not recommended in a multiuser
-site.
-</para>
+ <para>
+  The <Productname>Postgres</Productname> backend
+  (the actual executable program <application>postgres</application>) may be executed
+  directly from the user shell by the 
+  <Productname>Postgres</Productname> super-user 
+  (with the database name as an argument).  However,
+  doing this bypasses the shared buffer pool and lock table associated
+  with a postmaster/site, therefore this is not recommended in a multiuser
+  site.
+ </para>
 </sect1>
 
 <sect1>
-<title>Notation</title>
+ <title>Notation</title>
 
-<para>
-<quote>...</quote> or <filename>/usr/local/pgsql/</filename> 
-at the front of a file name is used to represent the
-path to the <Productname>Postgres</Productname> superuser's home directory.
-</para>
+ <para>
+  <quote>...</quote> or <filename>/usr/local/pgsql/</filename> 
+  at the front of a file name is used to represent the
+  path to the <Productname>Postgres</Productname> superuser's home directory.
+ </para>
 
-<para>
-In a command synopsis, brackets
-(<quote>[</quote> and <quote>]</quote>) indicate an optional phrase or keyword.
-Anything in braces
-(<quote>{</quote> and <quote>}</quote>) and containing vertical bars (<quote>|</quote>)
- indicates that you must choose one.
-</para>
+ <para>
+  In a command synopsis, brackets
+  (<quote>[</quote> and <quote>]</quote>) indicate an optional phrase or keyword.
+  Anything in braces
+  (<quote>{</quote> and <quote>}</quote>) and containing vertical bars (<quote>|</quote>)
 indicates that you must choose one.
+ </para>
 
-<para>
-In examples, parentheses (<quote>(</quote> and <quote>)</quote>) are used to group boolean
-expressions.  <quote>|</quote> is the boolean operator OR.
-</para>
+ <para>
+  In examples, parentheses (<quote>(</quote> and <quote>)</quote>) are used to group boolean
+  expressions.  <quote>|</quote> is the boolean operator OR.
+ </para>
 
-<para>
-Examples will show commands executed from various accounts and programs.
-Commands executed from the root account will be preceeded with <quote>&gt;</quote>.
-Commands executed from the <Productname>Postgres</Productname>
-superuser account will be preceeded with <quote>%</quote>, while commands
-executed from an unprivileged user's account will be preceeded with
-<quote>$</quote>.
-<acronym>SQL</acronym> commands will be preceeded with <quote>=&gt;</quote>
-or will have no leading prompt, depending on the context.
-</para>
+ <para>
+  Examples will show commands executed from various accounts and programs.
+  Commands executed from the root account will be preceeded with <quote>&gt;</quote>.
+  Commands executed from the <Productname>Postgres</Productname>
+  superuser account will be preceeded with <quote>%</quote>, while commands
+  executed from an unprivileged user's account will be preceeded with
+  <quote>$</quote>.
+  <acronym>SQL</acronym> commands will be preceeded with <quote>=&gt;</quote>
+  or will have no leading prompt, depending on the context.
+ </para>
 
-<note>
-<para>
-At the time of writing (<Productname>Postgres</Productname> v6.4) the notation for
-flagging commands is not universally consistant throughout the documentation set.
-Please report problems to
-<ulink url="mailto:docs@postgresql.org">the Documentation Mailing List</ulink>.
-</para>
-</note>
+ <note>
+  <para>
+   At the time of writing (<Productname>Postgres</Productname> v6.5) the notation for
+   flagging commands is not universally consistant throughout the documentation set.
+   Please report problems to
+   <ulink url="mailto:docs@postgresql.org">the Documentation Mailing List</ulink>.
+  </para>
+ </note>
 
 </sect1>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:nil
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:1
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:"./reference.ced"
+sgml-exposed-tags:nil
+sgml-local-catalogs:"/usr/lib/sgml/catalog"
+sgml-local-ecat-files:nil
+End:
+-->
index f68a521..01470c6 100644 (file)
@@ -1,11 +1,15 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/postgres.sgml,v 1.24 1999/05/26 17:30:29 thomas Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/postgres.sgml,v 1.25 1999/05/27 15:49:08 thomas Exp $
 
 Postgres integrated documentation.
 Other subset docs should be copied and shrunk from here.
 thomas 1998-02-23
 
 $Log: postgres.sgml,v $
+Revision 1.25  1999/05/27 15:49:08  thomas
+Markup fixes.
+Update for v6.5 release.
+
 Revision 1.24  1999/05/26 17:30:29  thomas
 Add chapters on CVS access, MVCC, SQL theory to the docs.
 Add an appendix with more details on date/time attributes and handling.
@@ -126,6 +130,7 @@ Move SQL reference pages up into the User's Guide.
 <!entity install  SYSTEM "install.sgml">
 <!entity installw SYSTEM "install-win32.sgml">
 <!entity intro-ag SYSTEM "intro-ag.sgml">
+<!entity layout   SYSTEM "layout.sgml">
 <!entity ports    SYSTEM "ports.sgml">
 <!entity runtime  SYSTEM "runtime.sgml">
 <!entity recovery SYSTEM "recovery.sgml">
@@ -291,6 +296,7 @@ Your name here...
    &intro-ag;
    &ports;
    &config;
+   &layout;
    &install;
    &installw;
    &runtime;
index 14a45c7..d8420ef 100644 (file)
@@ -1,74 +1,90 @@
-<sect1>
-<title>Y2K Statement</title>
+<sect1 id="y2k">
+ <title>Y2K Statement</title>
 
-<note>
-<title>Author</title>
+ <note>
+  <title>Author</title>
 
-<para>
-Written by 
-<ulink url="mailto:lockhart@alumni.caltech.edu">Thomas Lockhart</ulink>
-on 1998-10-22.
-</para>
-</note>
+  <para>
+   Written by 
+   <ulink url="mailto:lockhart@alumni.caltech.edu">Thomas Lockhart</ulink>
+   on 1998-10-22.
+  </para>
+ </note>
 
-<para>
-The <productname>PostgreSQL</productname> Global Development Team provides
-the <productname>Postgres</productname> software code tree as a public service,
-without warranty and without liability for it's behavior or performance.
-However, at the time of writing:
-</para>
+ <para>
+  The <productname>PostgreSQL</productname> Global Development Team provides
+  the <productname>Postgres</productname> software code tree as a public service,
+  without warranty and without liability for it's behavior or performance.
+  However, at the time of writing:
+ </para>
 
-<itemizedlist>
-<listitem>
-<para>
-The author of this statement, a volunteer on the <productname>Postgres</productname>
- support team since November, 1996, is not aware of 
-any problems in the <productname>Postgres</productname> code base related
-to time transitions around Jan 1, 2000 (Y2K).
-</para>
-</listitem>
+ <itemizedlist>
+  <listitem>
+   <para>
+    The author of this statement, a volunteer on the <productname>Postgres</productname>
   support team since November, 1996, is not aware of 
+    any problems in the <productname>Postgres</productname> code base related
+    to time transitions around Jan 1, 2000 (Y2K).
+   </para>
+  </listitem>
 
-<listitem>
-<para>
-The author of this statement is not aware of any reports of Y2K problems 
-uncovered in regression testing
-or in other field use of recent or current versions
-of <productname>Postgres</productname>. We might have expected
-to hear about problems if they existed, given the installed base and
-the active participation of users on the support mailing lists.
-</para>
-</listitem>
+  <listitem>
+   <para>
+    The author of this statement is not aware of any reports of Y2K problems 
+    uncovered in regression testing
+    or in other field use of recent or current versions
+    of <productname>Postgres</productname>. We might have expected
+    to hear about problems if they existed, given the installed base and
+    the active participation of users on the support mailing lists.
+   </para>
+  </listitem>
 
-<listitem>
-<para>
-To the best of the author's knowledge, the
-assumptions Postgres makes about dates specified with a two-digit year
-are documented in the current 
-<ulink url="http://www.postgresql.org/docs/user/datatype.htm">User's Guide</ulink>
- in the chapter on data types.
-For two-digit years, the significant transition year is 1970, not 2000;
-e.g. <quote>70-01-01</quote> is interpreted as <quote>1970-01-01</quote>,
-whereas <quote>69-01-01</quote> is interpreted as <quote>2069-01-01</quote>.
-</para>
-</listitem>
+  <listitem>
+   <para>
+    To the best of the author's knowledge, the
+    assumptions Postgres makes about dates specified with a two-digit year
+    are documented in the current 
+    <ulink url="http://www.postgresql.org/docs/user/datatype.htm">User's Guide</ulink>
   in the chapter on data types.
+    For two-digit years, the significant transition year is 1970, not 2000;
+    e.g. <quote>70-01-01</quote> is interpreted as <quote>1970-01-01</quote>,
+    whereas <quote>69-01-01</quote> is interpreted as <quote>2069-01-01</quote>.
+   </para>
+  </listitem>
 
-<listitem>
-<para>
-Any Y2K problems in the underlying OS related to obtaining "the
-current time" may propagate into apparent Y2K problems in
-<productname>Postgres</productname>.
-</para>
-</listitem>
+  <listitem>
+   <para>
+    Any Y2K problems in the underlying OS related to obtaining "the
+    current time" may propagate into apparent Y2K problems in
+    <productname>Postgres</productname>.
+   </para>
+  </listitem>
+ </itemizedlist>
 
-</itemizedlist>
-
-<para>
-Refer to 
-<ulink url="http://www.gnu.org/software/year2000.html">The Gnu Project</ulink>
-and
-<ulink url="http://language.perl.com/news/y2k.html">The Perl Institute</ulink>
-for further discussion of Y2K issues, particularly
- as it relates to open source, no fee software.
-</para>
+ <para>
+  Refer to 
+  <ulink url="http://www.gnu.org/software/year2000.html">The Gnu Project</ulink>
+  and
+  <ulink url="http://language.perl.com/news/y2k.html">The Perl Institute</ulink>
+  for further discussion of Y2K issues, particularly
+  as it relates to open source, no fee software.
+ </para>
 
 </sect1>
+
+<!-- Keep this comment at the end of the file
+Local variables:
+mode: sgml
+sgml-omittag:nil
+sgml-shorttag:t
+sgml-minimize-attributes:nil
+sgml-always-quote-attributes:t
+sgml-indent-step:1
+sgml-indent-data:t
+sgml-parent-document:nil
+sgml-default-dtd-file:"./reference.ced"
+sgml-exposed-tags:nil
+sgml-local-catalogs:"/usr/lib/sgml/catalog"
+sgml-local-ecat-files:nil
+End:
+-->