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