提交 651a639b 编写于 作者: P Peter Eisentraut

proof-reading

上级 cde7dc82
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/array.sgml,v 1.16 2001/11/21 05:53:40 thomas Exp $ -->
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/array.sgml,v 1.17 2001/11/28 20:49:09 petere Exp $ -->
<chapter id="arrays">
<title>Arrays</title>
......@@ -68,8 +68,8 @@ SELECT name FROM sal_emp WHERE pay_by_quarter[1] &lt;&gt; pay_by_quarter[2];
The array subscript numbers are written within square brackets.
<productname>PostgreSQL</productname> uses the
<quote>one-based</quote> numbering convention for arrays, that is,
an array of n elements starts with <literal>array[1]</literal> and
ends with <literal>array[n]</literal>.
an array of <replaceable>n</> elements starts with <literal>array[1]</literal> and
ends with <literal>array[<replaceable>n</>]</literal>.
</para>
<para>
......@@ -232,7 +232,7 @@ SELECT * FROM sal_emp WHERE pay_by_quarter **= 10000;
<tip>
<para>
Arrays are not lists; using arrays in the manner described in the
Arrays are not sets; using arrays in the manner described in the
previous paragraph is often a sign of database misdesign. The
array field should generally be split off into a separate table.
Tables can obviously be searched easily.
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/backup.sgml,v 2.21 2001/11/21 05:53:40 thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/backup.sgml,v 2.22 2001/11/28 20:49:09 petere Exp $
-->
<chapter id="backup">
<title>Backup and Restore</title>
......@@ -26,7 +26,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/backup.sgml,v 2.21 2001/11/21 05:53:40 thom
<title><acronym>SQL</> Dump</title>
<para>
The idea behind this method is to generate a text file with SQL
The idea behind the SQL-dump method is to generate a text file with SQL
commands that, when fed back to the server, will recreate the
database in the same state as it was at the time of the dump.
<productname>PostgreSQL</> provides the utility program
......@@ -107,8 +107,8 @@ psql <replaceable class="parameter">dbname</replaceable> &lt; <replaceable class
for the pg_dump command. The database <replaceable
class="parameter">dbname</replaceable> will not be created by this
command, you must create it yourself from template0 before executing
<application>psql</> (e.g., with <userinput>createdb -T template0
<replaceable class="parameter">dbname</></userinput>).
<application>psql</> (e.g., with <literal>createdb -T template0
<replaceable class="parameter">dbname</></literal>).
<application>psql</> supports similar options to <application>pg_dump</>
for controlling the database server location and the user names. See
its reference page for more information.
......@@ -376,15 +376,14 @@ tar -cf backup.tar /usr/local/pgsql/data
change between releases of <productname>PostgreSQL</>. This does not
apply to different <quote>patch levels</quote>, these always have
compatible storage formats. For example, releases 7.0.1, 7.1.2, and
7.2 are not compatible, whereas &version;.1 and &version;.2 are. When you
7.2 are not compatible, whereas 7.1.1 and 7.1.2 are. When you
update between compatible versions, then you can simply reuse the
data area in disk by the new executables. Otherwise you need to
<quote>back up</> your data and <quote>restore</> it on the new
server, using <application>pg_dump</>. (There are checks in place
that prevent you from doing the wrong thing, so no harm can be done
by confusing these things.) The precise installation procedure is
not subject of this section, the <citetitle>Installation
Instructions</citetitle> carry these details.
not subject of this section, these details are in <xref linkend="installation">.
</para>
<para>
......
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/charset.sgml,v 2.18 2001/11/21 05:53:40 thomas Exp $ -->
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/charset.sgml,v 2.19 2001/11/28 20:49:09 petere Exp $ -->
<chapter id="charset">
<title>Localization</>
......@@ -317,7 +317,7 @@ perl: warning: Falling back to the standard locale ("C").
<para>
Multibyte (<acronym>MB</acronym>) support is intended to allow
<productname>PostgreSQL</productname> to handle
multiple-byte character sets such as <acronym>EUC</> (Extended Unix Code), Unicode and
multiple-byte character sets such as <acronym>EUC</> (Extended Unix Code), Unicode, and
Mule internal code. With <acronym>MB</acronym> enabled you can use multibyte
character sets in regular expressions (regexp), LIKE, and some
other functions. The default
......@@ -326,27 +326,19 @@ perl: warning: Falling back to the standard locale ("C").
<application>initdb</application>. Note that this can be
overridden when you create a database using
<application>createdb</application> or by using the SQL command
CREATE DATABASE. So you can have multiple databases each with
<command>CREATE DATABASE</>. So you can have multiple databases each with
a different encoding system.
</para>
<para>
<acronym>MB</acronym> also fixes some problems concerning 8-bit single byte
character sets including ISO8859. (I would not say all problems
have been fixed. I just confirmed that the regression test ran fine
and a few French characters could be used with the patch. Please let
me know if you find any problem while using 8-bit characters.)
</para>
<sect2>
<title>Enabling MB</title>
<title>Enabling Multibyte Support</title>
<para>
Run configure with the multibyte option:
<programlisting>
% ./configure --enable-multibyte[=<replaceable>encoding_system</replaceable>]
</programlisting>
<synopsis>
./configure --enable-multibyte<optional>=<replaceable>encoding_system</replaceable></optional>
</synopsis>
where <replaceable>encoding_system</replaceable> can be one of the
values in the following table:
......@@ -364,7 +356,7 @@ perl: warning: Falling back to the standard locale ("C").
<tbody>
<row>
<entry><literal>SQL_ASCII</literal></entry>
<entry><acronym>US ASCII</acronym></entry>
<entry><acronym>ASCII</acronym></entry>
</row>
<row>
<entry><literal>EUC_JP</literal></entry>
......@@ -463,33 +455,38 @@ perl: warning: Falling back to the standard locale ("C").
</table>
</para>
<para>
CAUTION1: Note that before 7.2 LATIN5 meant ISO 8859-5 mistakely. In 7.2
LATIN5 measn ISO 8859-9. If you have LATIN5 database created on
7.1 or before and want to migrate to 7.2, you should be very
carefull about this change.
</para>
<important>
<para>
Before <productname>PostgreSQL</>7.2, <literal>LATIN5</> mistakenly
meant ISO 8859-5. From 7.2 on,
<literal>LATIN5</> means ISO 8859-9. If you have a <literal>LATIN5</>
database created on 7.1 or earlier and want to migrate to 7.2 (or
later), you should be very careful about this change.
</para>
</important>
<para>
CAUTION2: Not all API supports encodings listed above. For example,
<productname>PostgreSQL</>
JDBC driver does not support MULE_INTERNAL, LATIN6,
LATIN8 and LATIN10.
</para>
<important>
<para>
Not all APIs supports all the encodings listed above. For example, the
<productname>PostgreSQL</>
JDBC driver does not support <literal>MULE_INTERNAL</>, <literal>LATIN6</>,
<literal>LATIN8</>, and <literal>LATIN10</>.
</para>
</important>
<para>
Here is an example of configuring
<productname>PostgreSQL</productname> to use a Japanese encoding by
default:
<programlisting>
% ./configure --enable-multibyte=EUC_JP
</programlisting>
<screen>
$ <userinput>./configure --enable-multibyte=EUC_JP</userinput>
</screen>
</para>
<para>
If the encoding system is omitted (./configure --enable-multibyte),
SQL_ASCII is assumed.
If the encoding system is omitted (<literal>./configure --enable-multibyte</literal>),
<literal>SQL_ASCII</> is assumed.
</para>
</sect2>
......@@ -500,39 +497,39 @@ perl: warning: Falling back to the standard locale ("C").
<application>initdb</application> defines the default encoding
for a <productname>PostgreSQL</productname> installation. For example:
<programlisting>
% initdb -E EUC_JP
</programlisting>
<screen>
$ <userinput>initdb -E EUC_JP</>
</screen>
sets the default encoding to <literal>EUC_JP</literal> (Extended Unix Code for Japanese).
Note that you can use <option>--encoding</option> instead of <option>-E</option> if you prefer
to type longer option strings.
If no -E or --encoding option is given, the encoding
If no <option>-E</> or <option>--encoding</option> option is given, the encoding
specified at configure time is used.
</para>
<para>
You can create a database with a different encoding:
<programlisting>
% createdb -E EUC_KR korean
</programlisting>
<screen>
$ <userinput>createdb -E EUC_KR korean</>
</screen>
will create a database named <database>korean</database> with <literal>EUC_KR</literal> encoding.
Another way to accomplish this is to use a SQL command:
<programlisting>
<programlisting>
CREATE DATABASE korean WITH ENCODING = 'EUC_KR';
</programlisting>
</programlisting>
The encoding for a database is represented as an
<firstterm>encoding column</firstterm> in the
<literal>pg_database</literal> system catalog.
You can see that by using <option>-l</option> or <command>\l</command> of <command>psql</command>
command.
You can see that by using the <option>-l</option> option or the
<command>\l</command> command of <command>psql</command>.
<programlisting>
$ psql -l
<screen>
$ <userinput>psql -l</userinput>
List of databases
Database | Owner | Encoding
---------------+---------+---------------
......@@ -546,20 +543,22 @@ $ psql -l
test | t-ishii | EUC_JP
unicode | t-ishii | UNICODE
(9 rows)
</programlisting>
</screen>
</para>
</sect2>
<sect2>
<title>Automatic encoding translation between backend and
frontend</title>
<title>Automatic encoding translation between server and
client</title>
<para>
<productname>PostgreSQL</productname> supports an automatic
encoding translation between backend
and frontend for some encodings.
encoding translation between server
and client for some encodings. The available combinations are
listed in <xref linkend="multibyte-translation-table">.
</para>
<table tocentry="1">
<table tocentry="1" id="multibyte-translation-table">
<title>Client/Server Character Set Encodings</title>
<titleabbrev>Communication Encodings</titleabbrev>
<tgroup cols="2">
......@@ -724,12 +723,11 @@ $ psql -l
</tbody>
</tgroup>
</table>
</para>
<para>
To enable the automatic encoding translation, you have to tell
<productname>PostgreSQL</productname> the encoding you would like
to use in frontend. There are
to use in the client. There are
several ways to accomplish this.
<itemizedlist>
......@@ -737,13 +735,13 @@ $ psql -l
<para>
Using the <command>\encoding</command> command in
<application>psql</application>.
<command>\encoding</command> allows you to change frontend
<command>\encoding</command> allows you to change client
encoding on the fly. For
example, to change the encoding to <literal>SJIS</literal>, type:
<programlisting>
<programlisting>
\encoding SJIS
</programlisting>
</programlisting>
</para>
</listitem>
......@@ -753,27 +751,27 @@ $ psql -l
<command>\encoding</command> actually calls
<function>PQsetClientEncoding()</function> for its purpose.
<programlisting>
<synopsis>
int PQsetClientEncoding(PGconn *<replaceable>conn</replaceable>, const char *<replaceable>encoding</replaceable>)
</programlisting>
</synopsis>
where <replaceable>conn</replaceable> is a connection to the backend,
where <replaceable>conn</replaceable> is a connection to the server,
and <replaceable>encoding</replaceable> is an encoding you
want to use. If it successfully sets the encoding, it returns 0,
otherwise -1. The current encoding for this connection can be shown by
using:
<programlisting>
<synopsis>
int PQclientEncoding(const PGconn *<replaceable>conn</replaceable>)
</programlisting>
</synopsis>
Note that it returns the encoding id, not the encoding symbol string
such as <literal>EUC_JP</literal>. To convert an encoding id to an encoding symbol, you
Note that it returns the encoding ID, not a symbolic string
such as <literal>EUC_JP</literal>. To convert an encoding ID to an encoding name, you
can use:
<programlisting>
<synopsis>
char *pg_encoding_to_char(int <replaceable>encoding_id</replaceable>)
</programlisting>
</synopsis>
</para>
</listitem>
......@@ -781,29 +779,29 @@ char *pg_encoding_to_char(int <replaceable>encoding_id</replaceable>)
<para>
Using <command>SET CLIENT_ENCODING TO</command>.
Setting the frontend side encoding can be done by this SQL command:
Setting the client encoding can be done with this SQL command:
<programlisting>
<programlisting>
SET CLIENT_ENCODING TO 'encoding';
</programlisting>
</programlisting>
Also you can use SQL92 syntax <literal>SET NAMES</literal> for this purpose:
Also you can use the SQL92 syntax <literal>SET NAMES</literal> for this purpose:
<programlisting>
<programlisting>
SET NAMES 'encoding';
</programlisting>
</programlisting>
To query the current frontend encoding:
To query the current client encoding:
<programlisting>
<programlisting>
SHOW CLIENT_ENCODING;
</programlisting>
</programlisting>
To return to the default encoding:
<programlisting>
<programlisting>
RESET CLIENT_ENCODING;
</programlisting>
</programlisting>
</para>
</listitem>
......@@ -813,7 +811,7 @@ RESET CLIENT_ENCODING;
If environment variable <envar>PGCLIENTENCODING</envar> is defined
in the client's environment, that client encoding is automatically
selected when a backend connection is made. (This can subsequently
selected when a connection to the server is made. (This can subsequently
be overridden using any of the other methods mentioned above.)
</para>
</listitem>
......@@ -845,14 +843,15 @@ RESET CLIENT_ENCODING;
<title>What happens if the translation is not possible?</title>
<para>
Suppose you choose <literal>EUC_JP</literal> for the backend, <literal>LATIN1</literal> for the frontend,
then some Japanese characters could not be translated into <literal>LATIN1</literal>. In
Suppose you choose <literal>EUC_JP</literal> for the server
and <literal>LATIN1</literal> for the client,
then some Japanese characters cannot be translated into <literal>LATIN1</literal>. In
this case, a letter that cannot be represented in the <literal>LATIN1</literal> character set
would be transformed as:
<programlisting>
<synopsis>
(HEXA DECIMAL)
</programlisting>
</synopsis>
</para>
</sect2>
......@@ -1016,21 +1015,22 @@ Sorry for my Eglish and C code, I'm not native :-)
<para>
Success depends on proper system locales. This has been tested
with <systemitem class="osname">Red Hat 6.0</> and <systemitem
class="osname">Slackware 3.6</>, with <literal>cs_CZ.iso8859-2</literal> locale.
class="osname">Slackware 3.6</>, with the
<literal>cs_CZ.iso8859-2</literal> locale.
</para>
</listitem>
<listitem>
<para>
Never try to set the server multibyte database encoding to WIN1250.
Always use LATIN2 instead since there is not a WIN1250 locale
Never try to set the server's database encoding to WIN1250.
Always use LATIN2 instead since there is no WIN1250 locale
in Unix.
</para>
</listitem>
<listitem>
<para>
WIN1250 encoding is usable only for Windows ODBC clients. The
The WIN1250 encoding is usable only for Windows ODBC clients. The
characters are recoded on the fly, to be displayed and stored
back properly.
</para>
......@@ -1038,80 +1038,36 @@ Sorry for my Eglish and C code, I'm not native :-)
</itemizedlist>
</para>
<para>
When running, it is important to remember the following:
<itemizedlist>
<listitem>
<para>
This configuration reorders your sort order depending on your
<envar>LC_<replaceable>x</replaceable></envar> settings. Don't be
confused with the regression test results since they don't use
locale.
</para>
</listitem>
<listitem>
<para>
A locale such as <literal>ch</literal> is correctly sorted
only if your system
supports that locale; older systems may not do so but new ones
(e.g. RH6.0) do.
</para>
</listitem>
<listitem>
<para>
You have to insert money as '<literal>162,50</literal>' (note
comma within the single-quotes).
</para>
</listitem>
<listitem>
<para>
At the time of writing (early 1999), this configuration has
not received extensive testing. Please let us know of any
changes you had to make!
</para>
</listitem>
</itemizedlist>
</para>
<procedure>
<title>WIN1250 on Windows/ODBC</title>
<step>
<para>
Compile <productname>PostgreSQL</productname> with locale enabled
and the multibyte encoding set to <literal>LATIN2</literal>.
and the server-side encoding set to <literal>LATIN2</literal>.
</para>
</step>
<step>
<para>
Set up your installation. Do not forget to create locale
variables in your profile (environment). For example (this may
variables in your environment. For example (this may
not be correct for <emphasis>your</emphasis> environment):
<programlisting>
<programlisting>
LC_ALL=cs_CZ.ISO8859-2
LC_COLLATE=cs_CZ.ISO8859-2
LC_CTYPE=cs_CZ.ISO8859-2
LC_MONETARY=cs_CZ.ISO8859-2
LC_NUMERIC=cs_CZ.ISO8859-2
LC_TIME=cs_CZ.ISO8859-2
</programlisting>
</programlisting>
</para>
</step>
<step>
<para>
You have to start the postmaster with locales set!
You have to start the server with locales set!
</para>
</step>
<step>
<para>
Try it with Czech language, and have it sort on a query.
Try it with the Czech language, and have it sort on a query.
</para>
</step>
......@@ -1123,12 +1079,12 @@ LC_TIME=cs_CZ.ISO8859-2
<step>
<para>
Setup properly your data source. Include this line in your ODBC
configuration dialog in the field <literal>Connect Settings</literal>:
Set up your data source properly. Include this line in your ODBC
configuration dialog in the field <guilabel>Connect Settings</guilabel>:
<programlisting>
<programlisting>
SET CLIENT_ENCODING = 'WIN1250';
</programlisting>
</programlisting>
</para>
</step>
......@@ -1206,7 +1162,7 @@ HostCharset <replaceable>host_spec</> <replaceable>host_charset</>
cannot use different encodings on the same host at the same
time. It is also inconvenient when you boot your client hosts into
multiple operating systems. Nevertheless, when these restrictions are
not limiting and you do not need multibyte characters than it is a
not limiting and you do not need multibyte characters then it is a
simple and effective solution.
</para>
</sect1>
......
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/client-auth.sgml,v 1.29 2001/11/21 05:53:40 thomas Exp $ -->
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/client-auth.sgml,v 1.30 2001/11/28 20:49:09 petere Exp $ -->
<chapter id="client-authentication">
<title>Client Authentication</title>
......@@ -38,9 +38,9 @@
separate from user names of the operating system in which the server
runs. If all the users of a particular server also have accounts on
the server's machine, it makes sense to assign database user names
that match their Unix user ids. However, a server that accepts remote
that match their operating system user names. However, a server that accepts remote
connections may have many users who have no local account, and in such
cases there need be no connection between database user names and Unix
cases there need be no connection between database user names and OS
user names.
</para>
......@@ -57,7 +57,7 @@
<filename>/usr/local/pgsql/data/pg_hba.conf</filename>. (<acronym>HBA</> stands
for host-based authentication.) A default <filename>pg_hba.conf</filename>
file is installed when the
data area is initialized by <application>initdb</application>.
data area is initialized by <command>initdb</command>.
</para>
<para>
......@@ -73,7 +73,7 @@
(if relevant for the connection type), a database name or names,
and the authentication method to be used for connections matching
these parameters.
The first record that matches the type, client address and requested
The first record that matches the type, client address, and requested
database name of a connection attempt is used to do the
authentication step. There is no <quote>fall-through</> or
<quote>backup</>: if one record is chosen and the authentication
......@@ -348,7 +348,7 @@ hostssl <replaceable>database</replaceable> <replaceable>IP-address</replaceable
<para>
Since the <filename>pg_hba.conf</filename> records are examined
sequentially for each connection attempt, order of the records is
sequentially for each connection attempt, the order of the records is
very significant. Typically, earlier records will have tight
connection match parameters and weaker authentication methods,
while later records will have looser match parameters and stronger
......@@ -368,7 +368,7 @@ hostssl <replaceable>database</replaceable> <replaceable>IP-address</replaceable
and when the <application>postmaster</> receives a
<systemitem>SIGHUP</systemitem> signal. If you edit the file on an
active system, you will need to signal the <application>postmaster</>
(using <application>pg_ctl reload</> or <application>kill -HUP</>)
(using <literal>pg_ctl reload</> or <literal>kill -HUP</>)
to make it re-read the file.
</para>
......@@ -482,7 +482,7 @@ local all md5 admins
<synopsis>
<replaceable>username</replaceable>:<replaceable>password</replaceable>
</synopsis>
Any extra colon separated fields following the password are
Any extra colon-separated fields following the password are
ignored. The password is expected to be encrypted using the
system's <function>crypt()</function> function. The utility
program <application>pg_passwd</application> that is installed
......@@ -558,7 +558,7 @@ local all md5 admins
</para>
<para>
Client principals must have their <productname>PostgreSQL</> username as
Client principals must have their <productname>PostgreSQL</> user name as
their first component, for example
<replaceable>pgusername/otherstuff@realm</>.
At present the realm of the client is not checked by
......@@ -591,8 +591,8 @@ local all md5 admins
<para>
When connecting to the database make sure you have a ticket for a
principal matching the requested database username.
An example: For database username <literal>fred</>, both principal
principal matching the requested database user name.
An example: For database user name <literal>fred</>, both principal
<literal>fred@EXAMPLE.COM</> and
<literal>fred/users.example.com@EXAMPLE.COM</> can be
used to authenticate to the database server.
......@@ -696,7 +696,7 @@ local all md5 admins
and when the <application>postmaster</> receives a
<systemitem>SIGHUP</systemitem> signal. If you edit the file on an
active system, you will need to signal the <application>postmaster</>
(using <application>pg_ctl reload</> or <application>kill -HUP</>)
(using <literal>pg_ctl reload</> or <literal>kill -HUP</>)
to make it re-read the file.
</para>
......@@ -744,7 +744,7 @@ omicron bryanh guest1
No pg_hba.conf entry for host 123.123.123.123, user joeblow, database testdb
</ProgramListing>
This is what you are most likely to get if you succeed in
contacting the server, but it doesn't want to talk to you. As the
contacting the server, but it does not want to talk to you. As the
message suggests, the server refused the connection request
because it found no authorizing entry in its <filename>pg_hba.conf</filename>
configuration file.
......@@ -755,10 +755,10 @@ No pg_hba.conf entry for host 123.123.123.123, user joeblow, database testdb
Password authentication failed for user 'joeblow'
</ProgramListing>
Messages like this indicate that you contacted the server, and
it's willing to talk to you, but not until you pass the
it is willing to talk to you, but not until you pass the
authorization method specified in the
<filename>pg_hba.conf</filename> file. Check the password you're
providing, or check your Kerberos or IDENT software if the
<filename>pg_hba.conf</filename> file. Check the password you are
providing, or check your Kerberos or ident software if the
complaint mentions one of those authentication types.
</para>
......@@ -766,15 +766,15 @@ Password authentication failed for user 'joeblow'
<ProgramListing>
FATAL 1: user "joeblow" does not exist
</ProgramListing>
The indicated user name was not found in pg_shadow.
The indicated user name was not found.
</para>
<para>
<ProgramListing>
FATAL 1: Database "testdb" does not exist in the system catalog.
</ProgramListing>
The database you're trying to connect to doesn't exist. Note that
if you don't specify a database name, it defaults to the database
The database you are trying to connect to does not exist. Note that
if you do not specify a database name, it defaults to the database
user name, which may or may not be the right thing.
</para>
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/datatype.sgml,v 1.76 2001/11/24 19:57:06 tgl Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/datatype.sgml,v 1.77 2001/11/28 20:49:09 petere Exp $
-->
<chapter id="datatype">
......@@ -226,19 +226,19 @@ $Header: /cvsroot/pgsql/doc/src/sgml/datatype.sgml,v 1.76 2001/11/24 19:57:06 tg
<row>
<entry><type>time with time zone</type></entry>
<entry>timetz</entry>
<entry><type>timetz</type></entry>
<entry>time of day, including time zone</entry>
</row>
<row>
<entry><type>timestamp without time zone</type></entry>
<entry>timestamp</entry>
<entry><type>timestamp</type></entry>
<entry>date and time</entry>
</row>
<row>
<entry><type>timestamp [ with time zone ]</type></entry>
<entry>timestamptz</entry>
<entry><type>timestamptz</type></entry>
<entry>date and time, including time zone</entry>
</row>
</tbody>
......@@ -546,7 +546,7 @@ NUMERIC
limit on precision. A column of this kind will not coerce input
values to any particular scale, whereas <type>numeric</type> columns
with a declared scale will coerce input values to that scale.
(The SQL standard requires a default scale of 0, ie, coercion to
(The SQL standard requires a default scale of 0, i.e., coercion to
integer accuracy. We find this a bit useless. If you're concerned about
portability, always specify the precision and scale explicitly.)
</para>
......@@ -694,7 +694,7 @@ CREATE TABLE <replaceable class="parameter">tablename</replaceable> (
names <type>bigserial</type> and <type>serial8</type> work just
the same way, except that they create a <type>bigint</type>
column. <type>bigserial</type> should be used if you anticipate
use of more than 2^31 identifiers over the lifetime of the table.
use of more than 2<superscript>31</> identifiers over the lifetime of the table.
</para>
<para>
......@@ -861,7 +861,7 @@ CREATE TABLE <replaceable class="parameter">tablename</replaceable> (<replaceabl
The storage requirement for data of these types is 4 bytes plus
the actual string, and in case of <type>character</type> plus the
padding. Long strings will be compressed by the system
automatically, so the physical requirement on-disk may be less.
automatically, so the physical requirement on disk may be less.
In any case, the longest possible character string
that can be stored is about 1 GB. (The maximum value that will be
allowed for <replaceable>n</> in the data type declaration is
......@@ -1004,7 +1004,7 @@ SELECT b, char_length(b) FROM test2;
Octets of certain values <emphasis>must</emphasis> be escaped (but all
octet values <emphasis>may</emphasis> be escaped) when used as part of
a string literal in an <acronym>SQL</acronym> statement. In general,
to escape an octet, it is converted into the three digit octal number
to escape an octet, it is converted into the three-digit octal number
equivalent of its decimal octet value, and preceded by two
backslashes. Some octet values have alternate escape sequences, as
shown in <xref linkend="datatype-binary-sqlesc">.
......@@ -1112,12 +1112,12 @@ SELECT b, char_length(b) FROM test2;
<acronym>SQL</acronym> string literals (input strings) must be
preceded with two backslashes due to the fact that they must pass
through two parsers in the PostgreSQL backend. The first backslash
is interpreted as an escape character by the string literal parser,
is interpreted as an escape character by the string-literal parser,
and therefore is consumed, leaving the octets that follow.
The remaining backslash is recognized by the <type>bytea</type> input
function as the prefix of a three digit octal value. For example, a string
literal passed to the backend as <literal>'\\001'</literal> becomes
<literal>'\001'</literal> after passing through the string literal
<literal>'\001'</literal> after passing through the string-literal
parser. The <literal>'\001'</literal> is then sent to the
<type>bytea</type> input function, where it is converted to a single
octet with a decimal value of 1.
......@@ -1127,12 +1127,12 @@ SELECT b, char_length(b) FROM test2;
For a similar reason, a backslash must be input as
<literal>'\\\\'</literal> (or <literal>'\\134'</literal>). The first
and third backslashes are interpreted as escape characters by the
string literal parser, and therefore are consumed, leaving two
string-literal parser, and therefore are consumed, leaving two
backslashes in the string passed to the <type>bytea</type> input function,
which interprets them as representing a single backslash.
For example, a string literal passed to the
backend as <literal>'\\\\'</literal> becomes <literal>'\\'</literal>
after passing through the string literal parser. The
after passing through the string-literal parser. The
<literal>'\\'</literal> is then sent to the <type>bytea</type> input
function, where it is converted to a single octet with a decimal
value of 92.
......@@ -1147,7 +1147,7 @@ SELECT b, char_length(b) FROM test2;
<type>bytea</type> input function does <emphasis>not</emphasis>
recognize a single quote as a special octet. Therefore a string
literal passed to the backend as <literal>'\''</literal> becomes
<literal>'''</literal> after passing through the string literal
<literal>'''</literal> after passing through the string-literal
parser. The <literal>'''</literal> is then sent to the
<type>bytea</type> input function, where it is retains its single
octet decimal value of 39.
......@@ -1223,8 +1223,8 @@ SELECT b, char_length(b) FROM test2;
<entry> Operators operating on and returning binary strings
include concatenation, substring, overlay, and trim</entry>
<entry> Operators operating on and returning binary strings
include concatenation, substring, and trim. The <literal>
'leading'</literal> and <literal>'trailing'</literal>
include concatenation, substring, and trim. The
<literal>leading</literal> and <literal>trailing</literal>
arguments for trim are not yet implemented.
</entry>
</row>
......@@ -1327,12 +1327,12 @@ SELECT b, char_length(b) FROM test2;
<note>
<para>
Time zones, and time zone conventions, are influenced by
Time zones, and time-zone conventions, are influenced by
political conventions, not just physical effects. Time zones have
become somewhat standardized during the 1900's, but continue to
be prone to arbitrary changes with time.
<productname>PostgreSQL</productname> uses your operating
system's underlying features to provide time zone
system's underlying features to provide time-zone
support, and these systems usually contain information for only
the time period 1902 through 2038 (corresponding to the full
range of conventional Unix system time).
......@@ -1364,7 +1364,7 @@ SELECT b, char_length(b) FROM test2;
<para>
Date and time input is accepted in almost any reasonable format, including
<acronym>ISO-8601</acronym>, <acronym>SQL</acronym>-compatible,
<acronym>ISO 8601</acronym>, <acronym>SQL</acronym>-compatible,
traditional <productname>PostgreSQL</productname>, and others.
The ordering of month and day in date input can be ambiguous, therefore a setting
exists to specify how it should be interpreted in ambiguous cases. The command
......@@ -1422,15 +1422,15 @@ SELECT b, char_length(b) FROM test2;
</row>
<row>
<entry>1/8/1999</entry>
<entry>US; read as August 1 in European mode</entry>
<entry>U.S.; read as August 1 in European mode</entry>
</row>
<row>
<entry>8/1/1999</entry>
<entry>European; read as August 1 in US mode</entry>
<entry>European; read as August 1 in U.S. mode</entry>
</row>
<row>
<entry>1/18/1999</entry>
<entry>US; read as January 18 in any mode</entry>
<entry>U.S.; read as January 18 in any mode</entry>
</row>
<row>
<entry>19990108</entry>
......@@ -1600,19 +1600,19 @@ SELECT b, char_length(b) FROM test2;
<tbody>
<row>
<entry>04:05:06.789</entry>
<entry>ISO-8601</entry>
<entry>ISO 8601</entry>
</row>
<row>
<entry>04:05:06</entry>
<entry>ISO-8601</entry>
<entry>ISO 8601</entry>
</row>
<row>
<entry>04:05</entry>
<entry>ISO-8601</entry>
<entry>ISO 8601</entry>
</row>
<row>
<entry>040506</entry>
<entry>ISO-8601</entry>
<entry>ISO 8601</entry>
</row>
<row>
<entry>04:05 AM</entry>
......@@ -1679,19 +1679,19 @@ SELECT b, char_length(b) FROM test2;
<tbody>
<row>
<entry>04:05:06.789-8</entry>
<entry>ISO-8601</entry>
<entry>ISO 8601</entry>
</row>
<row>
<entry>04:05:06-08:00</entry>
<entry>ISO-8601</entry>
<entry>ISO 8601</entry>
</row>
<row>
<entry>04:05-08:00</entry>
<entry>ISO-8601</entry>
<entry>ISO 8601</entry>
</row>
<row>
<entry>040506-08</entry>
<entry>ISO-8601</entry>
<entry>ISO 8601</entry>
</row>
</tbody>
</tgroup>
......@@ -1911,8 +1911,9 @@ January 8 04:05:06 1999 PST
<literal>'now'</literal> is
evaluated when the value is first interpreted.
</para>
<caution>
<note>
<para>
As of <productname>PostgreSQL</> version 7.2,
<literal>'current'</literal> is no longer supported as a
......@@ -1920,11 +1921,10 @@ January 8 04:05:06 1999 PST
Previously,
<literal>'current'</literal> was stored as a special value,
and evaluated to <literal>'now'</literal> only when
used in a math operation or type
used in an expression or type
conversion.
</para>
</caution>
</para>
</note>
</sect3>
</sect2>
......@@ -1945,7 +1945,7 @@ January 8 04:05:06 1999 PST
<para>
Output formats can be set to one of the four styles
ISO-8601, <acronym>SQL</acronym> (Ingres), traditional
ISO 8601, <acronym>SQL</acronym> (Ingres), traditional
PostgreSQL, and German, using the <command>SET DateStyle</command>.
The default is the <acronym>ISO</acronym> format.
......@@ -1993,14 +1993,14 @@ January 8 04:05:06 1999 PST
<para>
The <acronym>SQL</acronym> style has European and non-European
(US) variants,
(U.S.) variants,
which determines whether month follows day or vice versa. (See
also <xref linkend="datatype-datetime-input">
for how this setting affects interpretation of
input values.)
<table tocentry="1">
<title>Date Order Conventions</title>
<title>Date-Order Conventions</title>
<tgroup cols="3">
<thead>
<row>
......@@ -2082,7 +2082,7 @@ January 8 04:05:06 1999 PST
<type>time</type> type can.
Time zones in the real world can have no meaning unless
associated with a date as well as a time
since the offset may vary through the year with daylight savings
since the offset may vary through the year with daylight-saving
time boundaries.
</para>
</listitem>
......@@ -2090,7 +2090,7 @@ January 8 04:05:06 1999 PST
<listitem>
<para>
The default time zone is specified as a constant integer offset
from GMT/UTC. It is not possible to adapt to daylight savings
from GMT/UTC. It is not possible to adapt to daylight-saving
time when doing date/time arithmetic across
<acronym>DST</acronym> boundaries.
</para>
......@@ -2102,20 +2102,20 @@ January 8 04:05:06 1999 PST
<para>
To address these difficulties, we recommend using date/time
types that contain both date and time when using time zones. We
recommend <emphasis>not</emphasis> using the SQL92 type TIME
WITH TIME ZONE (though it is supported by
recommend <emphasis>not</emphasis> using the SQL92 type <type>time
with time zone</type> (though it is supported by
<productname>PostgreSQL</productname> for legacy applications and
for compatibility with other RDBMS implementations).
<productname>PostgreSQL</productname>
assumes local time for any type containing only
date or time. Further, time zone support is derived from
the underlying operating system
time zone capabilities, and hence can handle daylight savings time
time-zone capabilities, and hence can handle daylight-saving time
and other expected behavior.
</para>
<para>
<productname>PostgreSQL</productname> obtains time zone support
<productname>PostgreSQL</productname> obtains time-zone support
from the underlying operating system for dates between 1902 and
2038 (near the typical date limits for Unix-style
systems). Outside of this range, all dates are assumed to be
......@@ -2131,7 +2131,7 @@ January 8 04:05:06 1999 PST
</para>
<para>
There are several ways to affect the time zone behavior:
There are several ways to affect the time-zone behavior:
<itemizedlist spacing="compact" mark="bullet">
<listitem>
......@@ -2404,7 +2404,7 @@ SELECT * FROM test1 WHERE a;
<term><replaceable>x</replaceable></term>
<listitem>
<para>
The x-axis coordinate as a floating point number.
The x-axis coordinate as a floating-point number
</para>
</listitem>
</varlistentry>
......@@ -2413,7 +2413,7 @@ SELECT * FROM test1 WHERE a;
<term><replaceable>y</replaceable></term>
<listitem>
<para>
The y-axis coordinate as a floating point number.
The y-axis coordinate as a floating-point number
</para>
</listitem>
</varlistentry>
......@@ -2449,7 +2449,7 @@ SELECT * FROM test1 WHERE a;
<term>(<replaceable>x2</replaceable>,<replaceable>y2</replaceable>)</term>
<listitem>
<para>
The end points of the line segment.
The end points of the line segment
</para>
</listitem>
</varlistentry>
......@@ -2486,7 +2486,7 @@ SELECT * FROM test1 WHERE a;
<term>(<replaceable>x2</replaceable>,<replaceable>y2</replaceable>)</term>
<listitem>
<para>
Opposite corners of the box.
Opposite corners of the box
</para>
</listitem>
</varlistentry>
......@@ -2587,7 +2587,7 @@ SELECT * FROM test1 WHERE a;
<listitem>
<para>
End points of the line segments comprising the boundary of the
polygon.
polygon
</para>
</listitem>
</varlistentry>
......@@ -2627,7 +2627,7 @@ SELECT * FROM test1 WHERE a;
<term>(<replaceable>x</replaceable>,<replaceable>y</replaceable>)</term>
<listitem>
<para>
Center of the circle.
Center of the circle
</para>
</listitem>
</varlistentry>
......@@ -2636,7 +2636,7 @@ SELECT * FROM test1 WHERE a;
<term><replaceable>r</replaceable></term>
<listitem>
<para>
Radius of the circle.
Radius of the circle
</para>
</listitem>
</varlistentry>
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/func.sgml,v 1.85 2001/11/21 22:33:14 tgl Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/func.sgml,v 1.86 2001/11/28 20:49:09 petere Exp $
PostgreSQL documentation
-->
......@@ -774,10 +774,10 @@ PostgreSQL documentation
VARYING</type>, and <type>TEXT</type>. Unless otherwise noted, all
of the functions listed below work on all of these types, but be
wary of potential effects of the automatic padding when using the
<type>CHARACTER</type> type. Generally the functions described
<type>CHARACTER</type> type. Generally, the functions described
here also work on data of non-string types by converting that data
to a string representation first. Some functions also exist
natively for bit string types.
natively for bit-string types.
</para>
<para>
......@@ -1430,8 +1430,8 @@ PostgreSQL documentation
you must write two backslashes in the query. Thus, writing a pattern
that actually matches a literal backslash means writing four backslashes
in the query. You can avoid this by selecting a different escape
character with <literal>ESCAPE</literal>; then backslash isn't special
to <function>LIKE</> anymore. (But it's still special to the string
character with <literal>ESCAPE</literal>; then backslash is not special
to <function>LIKE</> anymore. (But it is still special to the string
literal parser, so you still need two of them.)
</para>
......@@ -1865,7 +1865,7 @@ PostgreSQL documentation
In an output template string, there are certain patterns that are
recognized and replaced with appropriately-formatted data from the value
to be formatted. Any text that is not a template pattern is simply
copied verbatim. Similarly, in an input template string template patterns
copied verbatim. Similarly, in an input template string, template patterns
identify the parts of the input data string to be looked at and the
values to be found there.
</para>
......@@ -2179,17 +2179,23 @@ PostgreSQL documentation
<listitem>
<para>
Millisecond <literal>MS</literal> and microsecond <literal>US</literal>
values are in conversion from string to time stamp used as part of
second after decimal point. For example
values in a conversion from string to time stamp are used as part of the
seconds after the decimal point. For example
<literal>to_timestamp('12:3', 'SS:MS')</literal> is not 3 milliseconds,
but 300, because the conversion count it as <literal>12 + 0.3</literal>.
It means for format 'SS:MS' is '12:3' or '12:30' or '12:300' same
number of milliseconds. For the three milliseconds must be used
'12:003' that the conversion count as
<literal> 12 + 0.003 = 12.003 seconds </literal>. Here is a more
but 300, because the conversion counts it as 12 + 0.3.
This means for the format <literal>SS:MS</>, the input values
<literal>12:3</>, <literal>12:30</>, and <literal>12:300</> specify the
same number of milliseconds. To get three milliseconds, one must use
<literal>12:003</>, which the conversion counts as
12 + 0.003 = 12.003 seconds.
</para>
<para>
Here is a more
complex example:
<literal>to_timestamp('15:12:02.020.001230','HH:MI:SS.MS.US')</literal>
is 15 hours, 12 minutes, 2.021230 seconds.
is 15 hours, 12 minutes, and 2 seconds + 20 milliseconds +
1230 microseconds = 2.021230 seconds.
</para>
</listitem>
</itemizedlist>
......@@ -2269,7 +2275,7 @@ PostgreSQL documentation
</row>
<row>
<entry><literal>EEEE</literal></entry>
<entry>scientific numbers (not supported yet)</entry>
<entry>scientific notation (not implemented yet)</entry>
</row>
</tbody>
</tgroup>
......@@ -2282,10 +2288,11 @@ PostgreSQL documentation
<itemizedlist>
<listitem>
<para>
A sign formatted using 'SG', 'PL' or 'MI' is not an anchor in
A sign formatted using <literal>SG</>, <literal>PL</>, or
<literal>MI</> is not an anchor in
the number; for example,
to_char(-12, 'S9999') produces <literal>' -12'</literal>,
but to_char(-12, 'MI9999') produces <literal>'- 12'</literal>.
<literal>to_char(-12, 'S9999')</> produces <literal>' -12'</literal>,
but <literal>to_char(-12, 'MI9999')</> produces <literal>'- 12'</literal>.
The Oracle implementation does not allow the use of
<literal>MI</literal> ahead of <literal>9</literal>, but rather
requires that <literal>9</literal> precede
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/history.sgml,v 1.17 2001/11/23 22:06:20 tgl Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/history.sgml,v 1.18 2001/11/28 20:49:10 petere Exp $
-->
<sect1 id="history">
<title>A Short History of <productname>Postgres</productname></title>
<title>A Short History of <productname>PostgreSQL</productname></title>
<para>
The object-relational database management system now known as
......@@ -134,7 +134,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/history.sgml,v 1.17 2001/11/23 22:06:20 tgl
<para>
In addition to the monitor program, a new program
(<application>psql</application>) was provided for interactive SQL queries
using <acronym>GNU</acronym> <filename>readline</filename>.
using <acronym>GNU</acronym> <application>Readline</application>.
</para>
</listitem>
......@@ -143,7 +143,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/history.sgml,v 1.17 2001/11/23 22:06:20 tgl
A new front-end library, <filename>libpgtcl</filename>,
supported <acronym>Tcl</acronym>-based clients. A sample shell,
<command>pgtclsh</command>, provided new Tcl commands to interface
<application>tcl</application>
<application>Tcl</application>
programs with the <productname>Postgres95</productname> backend.
</para>
</listitem>
......@@ -167,7 +167,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/history.sgml,v 1.17 2001/11/23 22:06:20 tgl
<para>
A short tutorial introducing regular <acronym>SQL</acronym> features as
well as those of <productname>Postgres95</productname> was
distributed with the source code.
distributed with the source code
</para>
</listitem>
......
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/indices.sgml,v 1.28 2001/11/21 05:53:41 thomas Exp $ -->
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/indices.sgml,v 1.29 2001/11/28 20:49:10 petere Exp $ -->
<chapter id="indexes">
<title id="indexes-title">Indexes</title>
......@@ -91,7 +91,7 @@ CREATE INDEX test1_id_index ON test1 (id);
</para>
<para>
When an index is created, it has to be kept synchronized with the
When an index is created, the system has to keep it synchronized with the
table. This adds overhead to data manipulation operations.
Therefore indexes that are non-essential or do not get used at all
should be removed. Note that a
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/info.sgml,v 1.14 2001/11/21 05:53:41 thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/info.sgml,v 1.15 2001/11/28 20:49:10 petere Exp $
-->
<sect1 id="resources">
......@@ -137,14 +137,14 @@ $Header: /cvsroot/pgsql/doc/src/sgml/info.sgml,v 1.14 2001/11/21 05:53:41 thomas
<term>Yourself!</term>
<listitem>
<para>
<productname>PostgreSQL</productname> is an open source effort.
<productname>PostgreSQL</productname> is an open-source effort.
As such, it depends on the user community for ongoing support.
As you begin to use <productname>PostgreSQL</productname>, you
will rely on others for help, either through the documentation
or through the mailing lists. Consider contributing your
knowledge back. If you learn something which is not in the
documentation, write it up and contribute it. If you add
features to the code, contribute it.
features to the code, contribute them.
</para>
<para>
......
......@@ -108,7 +108,7 @@
<para>
To use the libraries, you must add the
<filename>libpqdll.lib</filename> file to your project. (In Visual
C++, just right-click on the project and chose to add it.)
C++, just right-click on the project and choose to add it.)
</para>
</chapter>
......
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/installation.sgml,v 1.66 2001/11/27 20:35:08 momjian Exp $ -->
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/installation.sgml,v 1.67 2001/11/28 20:49:10 petere Exp $ -->
<chapter id="installation">
<title><![%standalone-include[<productname>PostgreSQL</>]]>
......@@ -59,7 +59,7 @@ su - postgres
<application>make</> programs will <emphasis>not</> work.
<acronym>GNU</> <application>make</> is often installed under
the name <filename>gmake</filename>; this document will always
refer to it by that name. (On <systemitem class="osname">GNU/Linux</> systems GNU make is the
refer to it by that name. (On some systems GNU make is the
default tool with the name <filename>make</>.) To test for
<acronym>GNU</acronym> <application>make</application> enter
<screen>
......@@ -149,9 +149,9 @@ su - postgres
<para>
Also check that you have sufficient disk space. You will need about
30 MB for the source tree during compilation and about 5 MB for the
installation directory. An empty database takes about 1 MB, later
it takes about five times the amount of space that a flat text file
30 MB for the source tree during compilation and about 10 MB for the
installation directory. An empty database cluster takes about 20 MB, databases
take about five times the amount of space that a flat text file
with the same data would take. If you are going to run the
regression tests you will temporarily need an extra 20 MB. Use the
<command>df</command> command to check for disk space.
......@@ -166,15 +166,15 @@ su - postgres
The <productname>PostgreSQL</> &version; sources can be obtained by
anonymous FTP from <ulink
url="ftp://ftp.postgresql.org/pub/postgresql-&version;.tar.gz"></ulink>.
Use a mirror if possible. Then unpack it:
Use a mirror if possible. After you have obtained the file, unpack it:
<screen>
<userinput>gunzip postgresql-&version;.tar.gz</userinput>
<userinput>tar xf postgresql-&version;.tar</userinput>
</screen>
This will create a directory
<filename>postgresql-&version;</filename> with the
<productname>PostgreSQL</> sources
in the current directory. Change into that directory for the rest
<filename>postgresql-&version;</filename> under the current directory
with the <productname>PostgreSQL</> sources.
Change into that directory for the rest
of the installation procedure.
</para>
</sect1>
......@@ -367,7 +367,7 @@ su - postgres
<replaceable>PREFIX</> was set to. This can be useful to
share architecture-independent files between hosts. If you
omit this, then <replaceable>EXEC-PREFIX</> is set equal to
<replaceable>PREFIX</> and both architecture dependent and
<replaceable>PREFIX</> and both architecture-dependent and
independent files will be installed under the same tree,
which is probably what you want.
</para>
......@@ -545,13 +545,18 @@ su - postgres
<term><option>--enable-multibyte</option></term>
<listitem>
<para>
Allows the use of multibyte character encodings. This is
primarily for languages like Japanese, Korean, and Chinese.
Read
Allows the use of multibyte character encodings (including Unicode)
and character set encoding conversion. Read
<![%standalone-include[the <citetitle>Administrator's Guide</citetitle>]]>
<![%standalone-ignore[<xref linkend="multibyte">]]>
for details.
</para>
<para>
Note that some interfaces (such as Tcl or Java) expect all character
strings to be in Unicode, so this option will be required to correctly
support these interfaces.
</para>
</listitem>
</varlistentry>
......@@ -690,7 +695,10 @@ su - postgres
<term><option>--enable-odbc</option></term>
<listitem>
<para>
Build the ODBC driver.
Build the ODBC driver. By default, the driver will be independent
of a driver manager. To work better with a driver manager already
installed on your system, use one of the following options. More
information can be found in the <citetitle>Programmer's Guide</citetitle>.
</para>
</listitem>
</varlistentry>
......@@ -852,7 +860,7 @@ su - postgres
Also, having the tests turned on won't necessarily enhance the
stability of your server! The assertion checks are not categorized
for severity, and so what might be a relatively harmless bug will
still lead to postmaster restarts if it triggers an assertion
still lead to server restarts if it triggers an assertion
failure. Currently, this option is not recommended for
production use, but you should have it on for development work
or when running a beta version.
......@@ -954,9 +962,7 @@ All of PostgreSQL is successfully made. Ready to install.
<userinput>gmake -C src/interfaces/perl5 install</userinput>
<userinput>gmake -C src/interfaces/python install</userinput>
</screen>
Due to a quirk in the Perl build environment the first command
will actually rebuild the complete interface and then install it.
This is not harmful, just unusual. If you do not have superuser
If you do not have superuser
access you are on your own: you can still take the required files
and place them in other directories where Perl or Python can find
them, but how to do that is left as an exercise.
......@@ -971,7 +977,7 @@ All of PostgreSQL is successfully made. Ready to install.
<screen>
<userinput>gmake install-all-headers</userinput>
</screen>
This adds a megabyte or two to the install footprint, and is only
This adds a megabyte or two to the installation footprint, and is only
useful if you don't plan to keep the whole source tree around for
reference. (If you do, you can just use the source's include
directory when building server-side software.)
......@@ -992,8 +998,7 @@ All of PostgreSQL is successfully made. Ready to install.
<para>
To undo the installation use the command <command>gmake
uninstall</>. However, this will not remove the Perl and Python
interfaces and it will not remove any directories.
uninstall</>. However, this will not remove any directories.
</para>
</step>
</procedure>
......@@ -1664,7 +1669,7 @@ gunzip -c user.ps.gz \
<entry>7.1</entry>
<entry>2001-03-26, Magnus Hagander (<email>mha@sollentuna.net</email>)</entry>
<entry>
client-side libraries (<application>libpq</> and <application>psql</>) or ODBC/JDBC, no server-side;
client-side libraries (<application>libpq</> and <application>psql</>) or ODBC or JDBC, no server-side;
<![%standalone-include[see Administrator's Guide]]>
<![%standalone-ignore[see <xref linkend="install-win32">]]>
for instructions
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/maintenance.sgml,v 1.9 2001/11/21 05:53:41 thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/maintenance.sgml,v 1.10 2001/11/28 20:49:10 petere Exp $
-->
<chapter id="maintenance">
......@@ -100,8 +100,8 @@ $Header: /cvsroot/pgsql/doc/src/sgml/maintenance.sgml,v 1.9 2001/11/21 05:53:41
</indexterm>
<para>
In normal <productname>PostgreSQL</productname> operation, an UPDATE or
DELETE of a row does not immediately remove the old <firstterm>tuple</>
In normal <productname>PostgreSQL</productname> operation, an <command>UPDATE</> or
<command>DELETE</> of a row does not immediately remove the old <firstterm>tuple</>
(version of the row). This approach is necessary to gain the benefits
of multiversion concurrency control (see the <citetitle>User's Guide</>):
the tuple must not be deleted while
......@@ -268,7 +268,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/maintenance.sgml,v 1.9 2001/11/21 05:53:41
The new approach to XID comparison distinguishes two special XIDs, numbers
1 and 2 (<literal>BootstrapXID</> and <literal>FrozenXID</>). These two
XIDs are always considered older than every normal XID. Normal XIDs (those
greater than 2) are compared using modulo-2^31 arithmetic. This means
greater than 2) are compared using modulo-2<superscript>31</> arithmetic. This means
that for every normal XID, there are two billion XIDs that are
<quote>older</> and two billion that are <quote>newer</>; another way to
say it is that the normal XID space is circular with no endpoint.
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/manage-ag.sgml,v 2.19 2001/11/21 05:53:41 thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/manage-ag.sgml,v 2.20 2001/11/28 20:49:10 petere Exp $
-->
<chapter id="managing-databases">
......@@ -45,10 +45,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/manage-ag.sgml,v 2.19 2001/11/21 05:53:41 t
CREATE DATABASE <replaceable>name</>
</synopsis>
where <replaceable>name</> follows the usual rules for SQL identifiers.
(Depending on the
current implementation, certain characters that are special to the
underlying operating system might be prohibited. There will be
run-time checks for that.) The current user automatically becomes
The current user automatically becomes
the owner of the new database. It is the privilege of the owner of
a database to remove it later on (which also removes all the
objects in it, even if they have a different owner).
......@@ -140,7 +137,7 @@ createdb <replaceable class="parameter">dbname</replaceable>
one might copy any database in an installation by specifying its name
as the template for <command>CREATE DATABASE</>. It is important to
understand, however, that this is not (yet) intended as
a general-purpose COPY DATABASE facility. In particular, it is
a general-purpose <quote>COPY DATABASE</quote> facility. In particular, it is
essential that the source database be idle (no data-altering transactions
in progress)
for the duration of the copying operation. <command>CREATE DATABASE</>
......@@ -159,7 +156,7 @@ createdb <replaceable class="parameter">dbname</replaceable>
may be set to indicate that a database is intended as a template for
<command>CREATE DATABASE</>. If this flag is set, the database may be
cloned by
any user with CREATEDB privileges; if it is not set, only superusers
any user with <literal>CREATEDB</> privileges; if it is not set, only superusers
and the owner of the database may clone it.
If <literal>datallowconn</literal> is false, then no new connections
to that database will be allowed (but existing sessions are not killed
......@@ -261,7 +258,7 @@ setenv PGDATA2 /home/postgres/data
initlocation PGDATA2
</programlisting>
</informalexample>
The you can restart the server.
Then you can restart the server.
</para>
<para>
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/mvcc.sgml,v 2.20 2001/11/21 05:53:41 thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/mvcc.sgml,v 2.21 2001/11/28 20:49:10 petere Exp $
-->
<chapter id="mvcc">
......@@ -243,7 +243,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/mvcc.sgml,v 2.20 2001/11/21 05:53:41 thomas
adequate for many applications, and this level is fast and simple to use.
However, for applications that do complex queries and updates, it may
be necessary to guarantee a more rigorously consistent view of the
database than Read Committed level provides.
database than the Read Committed level provides.
</para>
</sect1>
......@@ -289,9 +289,9 @@ $Header: /cvsroot/pgsql/doc/src/sgml/mvcc.sgml,v 2.20 2001/11/21 05:53:41 thomas
transaction commit, a serializable transaction will be rolled back
with the message
<programlisting>
<screen>
ERROR: Can't serialize access due to concurrent update
</programlisting>
</screen>
because a serializable transaction cannot modify rows changed by
other transactions after the serializable transaction began.
......@@ -309,13 +309,13 @@ ERROR: Can't serialize access due to concurrent update
</para>
<para>
Serializable transaction level provides a rigorous guarantee that each
The Serializable transaction level provides a rigorous guarantee that each
transaction sees a wholly consistent view of the database. However,
the application has to be prepared to retry transactions when concurrent
updates make it impossible to sustain the illusion of serial execution,
and the cost of redoing complex transactions may be significant. So
this level is recommended only when update queries contain logic
sufficiently complex that they may give wrong answers in Read Committed
sufficiently complex that they may give wrong answers in the Read Committed
level.
</para>
</sect1>
......@@ -329,7 +329,7 @@ ERROR: Can't serialize access due to concurrent update
transaction isolation level, data read by one transaction can be
overwritten by another concurrent transaction. In other words,
if a row is returned by <command>SELECT</command> it doesn't mean that
the row still exists at the time it is returned (i.e. sometime after the
the row still exists at the time it is returned (i.e., sometime after the
current transaction began); the row might have been modified or deleted
by an already-committed transaction that committed after this one started.
Even if the row is still valid <quote>now</quote>, it could be changed or deleted
......@@ -552,7 +552,7 @@ ERROR: Can't serialize access due to concurrent update
<title>Row-level locks</title>
<para>
These locks are acquired when rows are being updated (or deleted or
Row-level locks are acquired when rows are being updated (or deleted or
marked for update).
Row-level locks don't affect data querying. They block
writers to <emphasis>the same row</emphasis> only.
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/perform.sgml,v 1.14 2001/11/21 05:53:41 thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/perform.sgml,v 1.15 2001/11/28 20:49:10 petere Exp $
-->
<chapter id="performance-tips">
......@@ -630,10 +630,10 @@ SELECT * FROM d LEFT JOIN
</para>
<sect2 id="disable-autocommit">
<title>Disable Auto-commit</title>
<title>Disable Autocommit</title>
<para>
Turn off auto-commit and just do one commit at
Turn off autocommit and just do one commit at
the end. (In plain SQL, this means issuing <command>BEGIN</command>
at the start and <command>COMMIT</command> at the end. Some client
libraries may do this behind your back, in which case you need to
......@@ -651,9 +651,9 @@ SELECT * FROM d LEFT JOIN
Use <command>COPY FROM STDIN</command> to load all the records in one
command, instead of using
a series of <command>INSERT</command> commands. This reduces parsing,
planning, etc
overhead a great deal. If you do this then it's not necessary to fool
around with auto-commit, since it's only one command anyway.
planning, etc.
overhead a great deal. If you do this then it is not necessary to turn
off autocommit, since it is only one command anyway.
</para>
</sect2>
......@@ -673,8 +673,8 @@ SELECT * FROM d LEFT JOIN
INDEX</command>, load the table, then recreate the index. Of
course, the database performance for other users may be adversely
affected during the time that the index is missing. One should also
think twice before dropping UNIQUE indexes, since the error checking
afforded by the UNIQUE constraint will be lost while the index is missing.
think twice before dropping unique indexes, since the error checking
afforded by the unique constraint will be lost while the index is missing.
</para>
</sect2>
......
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/queries.sgml,v 1.13 2001/11/21 05:53:41 thomas Exp $ -->
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/queries.sgml,v 1.14 2001/11/28 20:49:10 petere Exp $ -->
<chapter id="queries">
<title>Queries</title>
<sect1 id="queries-overview">
<title>Overview</title>
<para>
A <firstterm>query</firstterm> is the process of retrieving or the command
to retrieve data from a database. In SQL the <command>SELECT</command>
......@@ -51,6 +54,7 @@ SELECT 3 * 4;
SELECT random();
</programlisting>
</para>
</sect1>
<sect1 id="queries-table-expressions">
<title>Table Expressions</title>
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/query.sgml,v 1.22 2001/11/23 21:08:51 tgl Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/query.sgml,v 1.23 2001/11/28 20:49:10 petere Exp $
-->
<chapter id="tutorial-sql">
......@@ -247,8 +247,8 @@ INSERT INTO weather (date, city, temp_hi, temp_lo)
</indexterm>
You could also have used <command>COPY</command> to load large
amounts of data from flat text files. This is usually faster
because the <command>COPY</command> is optimized for this
amounts of data from flat-text files. This is usually faster
because the <command>COPY</command> command is optimized for this
application while allowing less flexibility than
<command>INSERT</command>. An example would be:
......@@ -256,7 +256,7 @@ INSERT INTO weather (date, city, temp_hi, temp_lo)
COPY weather FROM '/home/user/weather.txt';
</programlisting>
where the path name for the source file must be available to the
where the file name for the source file must be available to the
backend server machine, not the client, since the backend server
reads the file directly. You can read more about the
<command>COPY</command> command in the <citetitle>Reference
......@@ -272,14 +272,14 @@ COPY weather FROM '/home/user/weather.txt';
<indexterm><primary>query</primary></indexterm>
<indexterm><primary>SELECT</primary></indexterm>
To retrieve data from a table it is
To retrieve data from a table, the table is
<firstterm>queried</firstterm>. An <acronym>SQL</acronym>
<command>SELECT</command> statement is used to do this. The
statement is divided into a select list (the part that lists the
columns to be returned), a table list (the part that lists the
tables from which to retrieve the data), and an optional
qualification (the part that specifies any restrictions). For
example, to retrieve all the rows of
example, to retrieve all the rows of table
<classname>weather</classname>, type:
<programlisting>
SELECT * FROM weather;
......@@ -424,7 +424,7 @@ SELECT *
There are two columns containing the city name. This is
correct because the lists of columns of the
<classname>weather</classname> and the
<classname>cities</classname> tables are concatenated. In
<classname>cities</classname> table are concatenated. In
practice this is undesirable, though, so you will probably want
to list the output columns explicitly rather than using
<literal>*</literal>:
......@@ -678,7 +678,7 @@ SELECT city, max(temp_lo)
</screen>
which gives us the same results for only the cities that have all
<literal>temp_lo</> values below forty. Finally, if we only care about
<literal>temp_lo</> values below 40. Finally, if we only care about
cities whose
names begin with <quote><literal>S</literal></quote>, we might do
......@@ -705,7 +705,7 @@ SELECT city, max(temp_lo)
will be inputs to the aggregates. On the other hand,
<literal>HAVING</literal> clauses always contain aggregate functions.
(Strictly speaking, you are allowed to write a <literal>HAVING</literal>
clause that doesn't use aggregates, but it's wasteful; the same condition
clause that doesn't use aggregates, but it's wasteful: The same condition
could be used more efficiently at the <literal>WHERE</literal> stage.)
</para>
......
......@@ -24,7 +24,7 @@
<para>
A filled data disk may result in subsequent corruption of database
indices, but not of the fundamental data tables. If the WAL files
indexes, but not of the fundamental data tables. If the WAL files
are on the same disk (as is the case for a default configuration)
then a filled disk during database initialization may result in
corrupted or incomplete WAL files. This failure condition is
......@@ -87,21 +87,6 @@
</chapter>
<chapter Id="recovery">
<title>Database Recovery</title>
<para>
Database recovery is necessary in the event of hardware or software
failure. There are several categories of failures; some of these
require relatively minor adjustments to the database, while others
may depend on the existance of previously prepared database dumps
and other recovery data sets. It should be emphasized that if your
data is important and/or difficult to regenerate, then you should
have considered and prepared for various failure scenarios.
</para>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode:sgml
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/createdb.sgml,v 1.21 2001/11/18 20:35:02 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/createdb.sgml,v 1.22 2001/11/28 20:49:10 petere Exp $
Postgres documentation
-->
......@@ -38,9 +38,8 @@ Postgres documentation
<term>-h, --host <replaceable class="parameter">host</replaceable></term>
<listitem>
<para>
Specifies the hostname of the machine on which the
<application>postmaster</application>
is running. If host begins with a slash, it is used
Specifies the host name of the machine on which the
server is running. If host begins with a slash, it is used
as the directory for the Unix domain socket.
</para>
</listitem>
......@@ -51,8 +50,7 @@ Postgres documentation
<listitem>
<para>
Specifies the Internet TCP/IP port or the local Unix domain socket file
extension on which the <command>postmaster</command>
is listening for connections.
extension on which the server is listening for connections.
</para>
</listitem>
</varlistentry>
......@@ -61,7 +59,7 @@ Postgres documentation
<term>-U, --username <replaceable class="parameter">username</replaceable></term>
<listitem>
<para>
Username to connect as.
User name to connect as
</para>
</listitem>
</varlistentry>
......@@ -80,7 +78,7 @@ Postgres documentation
<listitem>
<para>
Echo the queries that <application>createdb</application> generates
and sends to the backend.
and sends to the server.
</para>
</listitem>
</varlistentry>
......@@ -127,7 +125,7 @@ Postgres documentation
<listitem>
<para>
Specifies the name of the database to be created. The name must be
unique among all <productname>Postgres</productname> databases in this installation.
unique among all <productname>PostgreSQL</productname> databases in this installation.
The default is to create a database with the same name as the
current system user.
</para>
......@@ -203,7 +201,7 @@ Postgres documentation
Description
</title>
<para>
<application>createdb</application> creates a new <productname>Postgres</productname>
<application>createdb</application> creates a new <productname>PostgreSQL</productname>
database. The user who executes this command becomes the database owner.
</para>
......@@ -211,7 +209,7 @@ Postgres documentation
<application>createdb</application> is a shell script wrapper around the
<acronym>SQL</acronym> command
<xref linkend="SQL-CREATEDATABASE" endterm="SQL-CREATEDATABASE-title"> via
the <productname>Postgres</productname> interactive terminal
the <productname>PostgreSQL</productname> interactive terminal
<xref linkend="APP-PSQL">. Thus, there is nothing
special about creating databases via this or other methods. This means
that the <application>psql</application> program must be found by the script and that
......@@ -240,7 +238,7 @@ Postgres documentation
<informalexample>
<para>
To create the database <literal>demo</literal> using the
postmaster on host eden, port 5000, using the
server on host eden, port 5000, using the
<literal>LATIN1</literal> encoding scheme with a look at the
underlying query:
<screen>
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.19 2001/10/26 21:17:03 tgl Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/createlang.sgml,v 1.20 2001/11/28 20:49:10 petere Exp $
Postgres documentation
-->
......@@ -86,8 +86,8 @@ Postgres documentation
<listitem>
<para>
Specifies the directory in which the language interpreter is
to be found. Use of this option is deprecated; the directory
is normally found automatically.
to be found. The directory is normally found automatically; this
option is primarily for debugging purposes.
</para>
</listitem>
</varlistentry>
......@@ -104,10 +104,10 @@ Postgres documentation
<term>-h, --host <replaceable class="parameter">host</replaceable></term>
<listitem>
<para>
Specifies the hostname of the machine on which the
<application>postmaster</application>
Specifies the host name of the machine on which the
server
is running. If host begins with a slash, it is used
as the directory for the unix domain socket.
as the directory for the Unix domain socket.
</para>
</listitem>
</varlistentry>
......@@ -117,7 +117,7 @@ Postgres documentation
<listitem>
<para>
Specifies the Internet TCP/IP port or local Unix domain socket file
extension on which the <application>postmaster</application>
extension on which the server
is listening for connections.
</para>
</listitem>
......@@ -127,7 +127,7 @@ Postgres documentation
<term>-U, --username <replaceable class="parameter">username</replaceable></term>
<listitem>
<para>
Username to connect as.
User name to connect as
</para>
</listitem>
</varlistentry>
......@@ -166,10 +166,10 @@ Postgres documentation
<para>
<application>createlang</application> is a utility for adding a new
programming language to a <productname>Postgres</productname> database.
<application>createlang</application> currently accepts several
languages, <literal>plpgsql, pltcl, pltclu,</literal> and <literal>
plperl</literal>.
programming language to a <productname>PostgreSQL</productname> database.
<application>createlang</application> can handle all the languages
supplied in the default <productname>PostgreSQL</> distribution, but
not languages provided by other parties.
</para>
<para>
Although backend programming languages can be added directly using
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/createuser.sgml,v 1.20 2001/09/03 12:57:49 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/createuser.sgml,v 1.21 2001/11/28 20:49:10 petere Exp $
Postgres documentation
-->
......@@ -37,10 +37,10 @@ Postgres documentation
<term>-h, --host <replaceable class="parameter">host</replaceable></term>
<listitem>
<para>
Specifies the hostname of the machine on which the
<application>postmaster</application>
Specifies the host name of the machine on which the
server
is running. If host begins with a slash, it is used
as the directory for the unix domain socket.
as the directory for the Unix domain socket.
</para>
</listitem>
</varlistentry>
......@@ -50,7 +50,7 @@ Postgres documentation
<listitem>
<para>
Specifies the Internet TCP/IP port or local Unix domain socket file
extension on which the <application>postmaster</application>
extension on which the server
is listening for connections.
</para>
</listitem>
......@@ -61,7 +61,7 @@ Postgres documentation
<listitem>
<para>
Echo the queries that <application>createuser</application> generates
and sends to the backend.
and sends to the server.
</para>
</listitem>
</varlistentry>
......@@ -156,8 +156,8 @@ Postgres documentation
<term><replaceable class="parameter">username</replaceable></term>
<listitem>
<para>
Specifies the name of the <productname>Postgres</productname> user to be created.
This name must be unique among all <productname>Postgres</productname> users.
Specifies the name of the <productname>PostgreSQL</productname> user to be created.
This name must be unique among all <productname>PostgreSQL</productname> users.
</para>
</listitem>
</varlistentry>
......@@ -214,17 +214,17 @@ Postgres documentation
</title>
<para>
<application>createuser</application> creates a
new <productname>Postgres</productname> user.
new <productname>PostgreSQL</productname> user.
Only users with <literal>usesuper</literal> set in
the <literal>pg_shadow</literal> table can create
new <productname>Postgres</productname> users.
new <productname>PostgreSQL</productname> users.
</para>
<para>
<application>createuser</application> is a shell script wrapper around the
<acronym>SQL</acronym> command
<xref linkend="SQL-CREATEUSER" endterm="SQL-CREATEUSER-title"> via
the <productname>Postgres</productname> interactive terminal
the <productname>PostgreSQL</productname> interactive terminal
<xref linkend="APP-PSQL">. Thus, there is nothing
special about creating users via this or other methods. This means
that the <application>psql</application> must be found by the script and that
......@@ -255,7 +255,7 @@ Postgres documentation
<informalexample>
<para>
To create the same user <literal>joe</literal> using the
postmaster on host eden, port 5000, avoiding the prompts and
server on host eden, port 5000, avoiding the prompts and
taking a look at the underlying query:
<screen>
<prompt>$ </prompt><userinput>createuser -p 5000 -h eden -D -A -e joe</userinput>
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/dropdb.sgml,v 1.11 2001/09/03 12:57:50 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/dropdb.sgml,v 1.12 2001/11/28 20:49:10 petere Exp $
Postgres documentation
-->
......@@ -37,8 +37,8 @@ Postgres documentation
<term>-h, --host <replaceable class="parameter">host</replaceable></term>
<listitem>
<para>
Specifies the hostname of the machine on which the
<application>postmaster</application>
Specifies the host name of the machine on which the
server
is running. If host begins with a slash, it is used
as the directory for the unix domain socket.
</para>
......@@ -50,7 +50,7 @@ Postgres documentation
<listitem>
<para>
Specifies the Internet TCP/IP port or local Unix domain socket file
extension on which the <application>postmaster</application>
extension on which the server
is listening for connections.
</para>
</listitem>
......@@ -60,7 +60,7 @@ Postgres documentation
<term>-U, --username <replaceable class="parameter">username</replaceable></term>
<listitem>
<para>
Username to connect as.
User name to connect as
</para>
</listitem>
</varlistentry>
......@@ -79,7 +79,7 @@ Postgres documentation
<listitem>
<para>
Echo the queries that <application>dropdb</application> generates
and sends to the backend.
and sends to the server.
</para>
</listitem>
</varlistentry>
......@@ -107,7 +107,7 @@ Postgres documentation
<listitem>
<para>
Specifies the name of the database to be removed. The database
must be one of the existing <productname>Postgres</productname> databases
must be one of the existing <productname>PostgreSQL</productname> databases
in this installation.
</para>
</listitem>
......@@ -157,7 +157,7 @@ Postgres documentation
</title>
<para>
<application>dropdb</application> destroys an existing
<productname>Postgres</productname> database.
<productname>PostgreSQL</productname> database.
The user who executes this command must be a database
superuser or the owner of the database.
</para>
......@@ -166,7 +166,7 @@ Postgres documentation
<application>dropdb</application> is a shell script wrapper around the
<acronym>SQL</acronym> command
<xref linkend="SQL-DROPDATABASE" endterm="SQL-DROPDATABASE-title"> via
the <productname>Postgres</productname> interactive terminal
the <productname>PostgreSQL</productname> interactive terminal
<xref linkend="APP-PSQL">. Thus, there is nothing
special about dropping databases via this or other methods. This means
that the <application>psql</application> must be found by the script and that
......@@ -193,7 +193,7 @@ Postgres documentation
<informalexample>
<para>
To destroy the database <literal>demo</literal> using the
postmaster on host eden, port 5000, with verification and a peek
server on host eden, port 5000, with verification and a peek
at the underlying query:
<screen>
<prompt>$ </prompt><userinput>dropdb -p 5000 -h eden -i -e demo</userinput>
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/droplang.sgml,v 1.13 2001/09/14 09:49:00 ishii Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/droplang.sgml,v 1.14 2001/11/28 20:49:10 petere Exp $
Postgres documentation
-->
......@@ -92,10 +92,10 @@ Postgres documentation
<term>-h, --host <replaceable class="parameter">host</replaceable></term>
<listitem>
<para>
Specifies the hostname of the machine on which the
<application>postmaster</application>
Specifies the host name of the machine on which the
server
is running. If host begins with a slash, it is used
as the directory for the unix domain socket.
as the directory for the Unix domain socket.
</para>
</listitem>
</varlistentry>
......@@ -105,7 +105,7 @@ Postgres documentation
<listitem>
<para>
Specifies the Internet TCP/IP port or local Unix domain socket file
extension on which the <application>postmaster</application>
extension on which the server
is listening for connections.
</para>
</listitem>
......@@ -115,7 +115,7 @@ Postgres documentation
<term>-U, --username <replaceable class="parameter">username</replaceable></term>
<listitem>
<para>
Username to connect as.
User name to connect as
</para>
</listitem>
</varlistentry>
......@@ -155,9 +155,9 @@ Postgres documentation
<para>
<application>droplang</application> is a utility for removing an
existing programming language from a
<productname>Postgres</productname> database.
<application>droplang</application> currently accepts two
languages, <literal>plsql</literal> and <literal>pltcl</literal>.
<productname>PostgreSQL</productname> database.
<application>droplang</application> can drop any procedural language,
even those not supplied by the <productname>PostgreSQL</> distribution.
</para>
<para>
Although backend programming languages can be removed directly using
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/dropuser.sgml,v 1.13 2001/09/03 12:57:50 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/dropuser.sgml,v 1.14 2001/11/28 20:49:10 petere Exp $
Postgres documentation
-->
......@@ -37,10 +37,10 @@ Postgres documentation
<term>-h, --host <replaceable class="parameter">host</replaceable></term>
<listitem>
<para>
Specifies the hostname of the machine on which the
<application>postmaster</application>
Specifies the host name of the machine on which the
server
is running. If host begins with a slash, it is used
as the directory for the unix domain socket.
as the directory for the Unix domain socket.
</para>
</listitem>
</varlistentry>
......@@ -50,7 +50,7 @@ Postgres documentation
<listitem>
<para>
Specifies the Internet TCP/IP port or local Unix domain socket file
extension on which the <application>postmaster</application>
extension on which the server
is listening for connections.
</para>
</listitem>
......@@ -61,7 +61,7 @@ Postgres documentation
<listitem>
<para>
Echo the queries that <application>createdb</application> generates
and sends to the backend.
and sends to the server.
</para>
</listitem>
</varlistentry>
......@@ -88,8 +88,8 @@ Postgres documentation
<term><replaceable class="parameter">username</replaceable></term>
<listitem>
<para>
Specifies the name of the <productname>Postgres</productname> user to be removed.
This name must exist in the <productname>Postgres</productname> installation.
Specifies the name of the <productname>PostgreSQL</productname> user to be removed.
This name must exist in the <productname>PostgreSQL</productname> installation.
You will be prompted for a name if none is specified on the command line.
</para>
</listitem>
......@@ -145,18 +145,18 @@ Postgres documentation
</title>
<para>
<application>dropuser</application> removes an existing
<productname>Postgres</productname> user
<productname>PostgreSQL</productname> user
<emphasis>and</emphasis> the databases which that user owned.
Only users with <literal>usesuper</literal> set in
the <literal>pg_shadow</literal> table can destroy
<productname>Postgres</productname> users.
<productname>PostgreSQL</productname> users.
</para>
<para>
<application>dropuser</application> is a shell script wrapper around the
<acronym>SQL</acronym> command
<xref linkend="SQL-DROPUSER" endterm="SQL-DROPUSER-title"> via
the <productname>Postgres</productname> interactive terminal
the <productname>PostgreSQL</productname> interactive terminal
<xref linkend="APP-PSQL">. Thus, there is nothing
special about removing users via this or other methods. This means
that the <application>psql</application> must be found by the script and that
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/ecpg-ref.sgml,v 1.12 2001/11/18 20:35:02 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/ecpg-ref.sgml,v 1.13 2001/11/28 20:49:10 petere Exp $
Postgres documentation
-->
......@@ -67,11 +67,11 @@ Postgres documentation
<listitem>
<para>
Specify an additional include path.
Defaults are <filename>.</filename>,
Defaults are <filename>.</filename> (current directory),
<filename>/usr/local/include</filename>, the
<productname>Postgres</productname> include path which is
<productname>PostgreSQL</productname> include path which is
defined at compile time (default:
<filename>/usr/local/pgsql/lib</filename>), and
<filename>/usr/local/pgsql/include</filename>), and
<filename>/usr/include</filename>.
</para>
</listitem>
......@@ -118,7 +118,7 @@ Postgres documentation
<variablelist>
<varlistentry>
<term><replaceable>return value</replaceable></term>
<term>Return value</term>
<listitem>
<para>
<application>ecpg</application> returns 0 to the shell on successful completion, non-zero
......@@ -136,7 +136,7 @@ Postgres documentation
<para>
<application>ecpg</application>
is an embedded SQL preprocessor for the C language and the
<productname>Postgres</productname>. It
<productname>PostgreSQL</productname>. It
enables development of C programs with embedded SQL code.
</para>
......@@ -160,9 +160,9 @@ Postgres documentation
<para>
An embedded SQL source file must be preprocessed before
compilation:
<programlisting>
<synopsis>
ecpg [ -d ] [ -o <replaceable>file</replaceable> ] <replaceable>file</replaceable>.pgc
</programlisting>
</synopsis>
where the optional <option>-d</option> flag turns on debugging.
The <literal>.pgc</literal> extension is an
......@@ -178,13 +178,13 @@ ecpg [ -d ] [ -o <replaceable>file</replaceable> ] <replaceable>file</replaceabl
<title>Compiling and Linking</title>
<para>
Assuming the <productname>Postgres</productname> binaries are in
Assuming the <productname>PostgreSQL</productname> binaries are in
<filename>/usr/local/pgsql</filename>, you will need to compile
and link your preprocessed source file:
<programlisting>
<synopsis>
gcc -g -I /usr/local/pgsql/include [ -o <replaceable>file</replaceable> ] <replaceable>file</replaceable>.c -L /usr/local/pgsql/lib -lecpg -lpq
</programlisting>
</synopsis>
</para>
</refsect2>
</refsect1>
......@@ -198,10 +198,10 @@ gcc -g -I /usr/local/pgsql/include [ -o <replaceable>file</replaceable> ] <repla
<para>
The preprocessor will prepend two directives to the source:
<programlisting>
<programlisting>
#include &lt;ecpgtype.h&gt;
#include &lt;ecpglib.h&gt;
</programlisting>
</programlisting>
</para>
</refsect2>
......@@ -211,26 +211,26 @@ gcc -g -I /usr/local/pgsql/include [ -o <replaceable>file</replaceable> ] <repla
<para>
Variables declared within <application>ecpg</application> source code must be prepended with:
<programlisting>
<programlisting>
EXEC SQL BEGIN DECLARE SECTION;
</programlisting>
</programlisting>
</para>
<para>
Similarly, variable declaration sections must terminate with:
<programlisting>
<programlisting>
EXEC SQL END DECLARE SECTION;
</programlisting>
</programlisting>
<note>
<para>
Prior to version 2.1.0, each variable had to be declared
on a separate line. As of version 2.1.0 multiple variables may
be declared on a single line:
<programlisting>
<programlisting>
char foo[16], bar[16];
</programlisting>
</programlisting>
</para>
</note>
</para>
......@@ -242,51 +242,53 @@ char foo[16], bar[16];
<para>
The SQL communication area is defined with:
<programlisting>
<programlisting>
EXEC SQL INCLUDE sqlca;
</programlisting>
</programlisting>
</para>
<note>
<para>
The <literal>sqlca</literal> is in lowercase.
While SQL convention may be
followed, i.e., using uppercase to separate embedded SQL
from C statements, sqlca (which includes the sqlca.h
header file) MUST be lowercase. This is because the EXEC SQL
prefix indicates that this INCLUDE will be parsed by <application>ecpg</application>.
<application>ecpg</application> observes case sensitivity (SQLCA.h will not be found).
from C statements, sqlca (which includes the <filename>sqlca.h</>
header file) <emphasis>must</> be lowercase. This is because the
EXEC SQL prefix indicates that this inclusion will be parsed by
<application>ecpg</application>.
<application>ecpg</application> observes case sensitivity
(<filename>SQLCA.h</> will not be found).
<command>EXEC SQL INCLUDE</command>
can be used to include other header files
as long as case sensitivity is observed.
</para>
</note>
</para>
<para>
The sqlprint command is used with the EXEC SQL WHENEVER
statement to turn on error handling throughout the
program:
<programlisting>
<programlisting>
EXEC SQL WHENEVER sqlerror sqlprint;
</programlisting>
</programlisting>
and
<programlisting>
<programlisting>
EXEC SQL WHENEVER not found sqlprint;
</programlisting>
</programlisting>
</para>
<note>
<para>
This is <emphasis>not</emphasis> an exhaustive example of usage for
the <command>EXEC SQL WHENEVER</command> statement.
Further examples of usage may
be found in SQL manuals (e.g., `The LAN TIMES Guide to SQL' by
be found in SQL manuals (e.g., <citetitle>The LAN TIMES Guide to SQL</> by
Groff and Weinberg).
</para>
</note>
</para>
</refsect2>
<refsect2 id="R2-APP-ECPG-connecting">
......@@ -295,9 +297,9 @@ EXEC SQL WHENEVER not found sqlprint;
<para>
One connects to a database using the following:
<programlisting>
<programlisting>
EXEC SQL CONNECT TO <replaceable>dbname</replaceable>;
</programlisting>
</programlisting>
where the database name is not quoted. Prior to version 2.1.0, the
database name was required to be inside single quotes.
......@@ -307,15 +309,15 @@ EXEC SQL CONNECT TO <replaceable>dbname</replaceable>;
Specifying a server and port name in the connect statement is also
possible. The syntax is:
<programlisting>
<synopsis>
<replaceable>dbname</replaceable>[@<replaceable>server</replaceable>][:<replaceable>port</replaceable>]
</programlisting>
</synopsis>
or
<programlisting>
<synopsis>
&lt;tcp|unix&gt;:postgresql://<replaceable>server</replaceable>[:<replaceable>port</replaceable>][/<replaceable>dbname</replaceable>][?<replaceable>options</replaceable>]
</programlisting>
</synopsis>
</para>
</refsect2>
......@@ -331,20 +333,20 @@ EXEC SQL CONNECT TO <replaceable>dbname</replaceable>;
<para>
Create Table:
<programlisting>
<programlisting>
EXEC SQL CREATE TABLE foo (number int4, ascii char(16));
EXEC SQL CREATE UNIQUE index num1 on foo(number);
EXEC SQL COMMIT;
</programlisting>
</programlisting>
</para>
<para>
Insert:
<programlisting>
<programlisting>
EXEC SQL INSERT INTO foo (number, ascii) VALUES (9999, 'doodad');
EXEC SQL COMMIT;
</programlisting>
</programlisting>
</para>
<para>
......@@ -353,21 +355,21 @@ EXEC SQL COMMIT;
<programlisting>
EXEC SQL DELETE FROM foo WHERE number = 9999;
EXEC SQL COMMIT;
</programlisting>
</programlisting>
</para>
<para>
Singleton Select:
<programlisting>
<programlisting>
EXEC SQL SELECT foo INTO :FooBar FROM table1 WHERE ascii = 'doodad';
</programlisting>
</programlisting>
</para>
<para>
Select using Cursors:
<programlisting>
<programlisting>
EXEC SQL DECLARE foo_bar CURSOR FOR
SELECT number, ascii FROM foo
ORDER BY ascii;
......@@ -375,17 +377,17 @@ EXEC SQL FETCH foo_bar INTO :FooBar, DooDad;
...
EXEC SQL CLOSE foo_bar;
EXEC SQL COMMIT;
</programlisting>
</programlisting>
</para>
<para>
Updates:
<programlisting>
<programlisting>
EXEC SQL UPDATE foo
SET ascii = 'foobar'
WHERE number = 9999;
EXEC SQL COMMIT;
</programlisting>
</programlisting>
</para>
</refsect2>
</refsect1>
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/initdb.sgml,v 1.17 2001/09/08 15:24:00 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/initdb.sgml,v 1.18 2001/11/28 20:49:10 petere Exp $
Postgres documentation
-->
......@@ -141,10 +141,10 @@ Postgres documentation
<term>-E <replaceable class="parameter">encoding</replaceable></term>
<listitem>
<para>
Selects the multibyte encoding of the template database. This will also
Selects the encoding of the template database. This will also
be the default encoding of any database you create later, unless you
override it there. To use the multibyte encoding feature, you must
specify so at build time, at which time you also select the default
override it there. To use the encoding feature, you must
have enabled it at build time, at which time you also select the default
for this option.
</para>
</listitem>
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_ctl-ref.sgml,v 1.10 2001/11/19 03:58:25 tgl Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_ctl-ref.sgml,v 1.11 2001/11/28 20:49:10 petere Exp $
Postgres documentation
-->
......@@ -79,7 +79,7 @@ Postgres documentation
started manually, <application>pg_ctl</application> encapulates
tasks such as redirecting log output, properly detaching from the
terminal and process group, and it provides convenient options for
controlled shut down.
controlled shutdown.
</para>
<para>
......@@ -117,10 +117,10 @@ Postgres documentation
</para>
<para>
<option>reload</option> mode simply sends the postmaster a SIGHUP signal,
<option>reload</option> mode simply sends the postmaster a <systemitem>SIGHUP</> signal,
causing it to reread its configuration files
(<filename>postgresql.conf</filename>, <filename>pg_hba.conf</filename>,
etc). This allows changing of configuration-file options that do not
etc.). This allows changing of configuration-file options that do not
require a complete restart to take effect.
</para>
......@@ -199,30 +199,30 @@ Postgres documentation
</varlistentry>
<varlistentry>
<term>-w</term>
<term>-s</term>
<listitem>
<para>
Wait for the start or shutdown to complete. Times out after
60 seconds. This is the default for shutdowns.
Only print errors, no informational messages.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-W</term>
<term>-w</term>
<listitem>
<para>
Do not wait for start or shutdown to complete. This is the
default for starts and restarts.
Wait for the start or shutdown to complete. Times out after
60 seconds. This is the default for shutdowns.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>-s</term>
<term>-W</term>
<listitem>
<para>
Only print errors, no informational messages.
Do not wait for start or shutdown to complete. This is the
default for starts and restarts.
</para>
</listitem>
</varlistentry>
......@@ -251,7 +251,7 @@ Postgres documentation
<title>Starting the postmaster</title>
<para>
To start up <application>postmaster</application>:
To start up a <application>postmaster</application>:
<screen>
<prompt>$</prompt> <userinput>pg_ctl start</userinput>
</screen>
......@@ -259,7 +259,7 @@ Postgres documentation
<para>
An example of starting the <application>postmaster</application>,
blocking until postmaster comes up is:
blocking until the postmaster comes up is:
<screen>
<prompt>$</prompt> <userinput>pg_ctl -w start</userinput>
</screen>
......@@ -280,7 +280,7 @@ Postgres documentation
<screen>
<prompt>$</prompt> <userinput>pg_ctl stop</userinput>
</screen>
stops postmaster. Using the <option>-m</option> switch allows one
stops the postmaster. Using the <option>-m</option> switch allows one
to control <emphasis>how</emphasis> the backend shuts down.
</para>
</refsect2>
......@@ -290,10 +290,10 @@ Postgres documentation
<para>
This is almost equivalent to stopping the
<application>postmaster</application> then starting it again
<application>postmaster</application> and starting it again
except that pg_ctl saves and reuses the command line options that
were passed to the previously running instance. To restart
<application>postmaster</application> in the simplest form:
the <application>postmaster</application> in the simplest form:
<screen>
<prompt>$</prompt> <userinput>pg_ctl restart</userinput>
</screen>
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_dump.sgml,v 1.39 2001/11/18 20:35:02 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_dump.sgml,v 1.40 2001/11/28 20:49:10 petere Exp $
Postgres documentation
-->
......@@ -62,12 +62,13 @@ Postgres documentation
<para>
<command>pg_dump</command> is a utility for saving a
<productname>PostgreSQL</productname> database into a script or an
archive file. The script files are in plain text format and
archive file. The script files are in plain-text format and
contain the SQL commands required to reconstruct the database to
the state it was in at the time it was saved. They can be used to
reconstruct the database even on other machines and other
architectures, with some modifications even on other RDBMS
products. The alternative archive file formats are meant to be
products. Furthermore, there are alternative archive file formats that
are meant to be
used with <xref linkend="app-pgrestore"> to rebuild the database,
and they also allow <command>pg_restore</command> to be selective
about what is restored, or even to reorder the items prior to being
......@@ -86,7 +87,7 @@ Postgres documentation
<para>
<command>pg_dump</command>
is useful for dumping out the contents of a database to move from one
<productname>Postgres</productname> installation to another.
<productname>PostgreSQL</productname> installation to another.
</para>
<para>
......@@ -145,7 +146,7 @@ Postgres documentation
</para>
<para>
This option is only meaningful for the plain text format. For
This option is only meaningful for the plain-text format. For
the other formats, you may specify the option when you
call <command>pg_restore</command>.
</para>
......@@ -172,7 +173,7 @@ Postgres documentation
</para>
<para>
This option is only meaningful for the plain text format. For
This option is only meaningful for the plain-text format. For
the other formats, you may specify the option when you
call <command>pg_restore</command>.
</para>
......@@ -191,7 +192,7 @@ Postgres documentation
</para>
<para>
This option is only meaningful for the plain text format. For
This option is only meaningful for the plain-text format. For
the other formats, you may specify the option when you
call <command>pg_restore</command>.
</para>
......@@ -251,7 +252,7 @@ Postgres documentation
<term>p</term>
<listitem>
<para>
output a plain text <acronym>SQL</acronym> script file (default)
Output a plain-text <acronym>SQL</acronym> script file (default)
</para>
</listitem>
</varlistentry>
......@@ -260,7 +261,7 @@ Postgres documentation
<term>t</term>
<listitem>
<para>
output a <filename>tar</filename> archive suitable for input into
Output a <filename>tar</filename> archive suitable for input into
<command>pg_restore</command>. Using this archive format
allows reordering and/or exclusion of schema elements
at the time the database is restored. It is also possible to limit
......@@ -273,7 +274,7 @@ Postgres documentation
<term>c</term>
<listitem>
<para>
output a custom archive suitable for input into
Output a custom archive suitable for input into
<command>pg_restore</command>. This is the most flexible
format in that it allows reordering of data load as well
as schema elements. This format is also compressed by default.
......@@ -360,7 +361,7 @@ Postgres documentation
</para>
<para>
This option is only meaningful for the plain text format. For
This option is only meaningful for the plain-text format. For
the other formats, you may specify the option when you
call <command>pg_restore</command>.
</para>
......@@ -390,7 +391,7 @@ Postgres documentation
</para>
<para>
This option is only meaningful for the plain text format. For
This option is only meaningful for the plain-text format. For
the other formats, you may specify the option when you
call <command>pg_restore</command>.
</para>
......@@ -456,7 +457,7 @@ Postgres documentation
<term>--use-set-session-authorization</term>
<listitem>
<para>
Normally, if a (plain text mode) script generated by
Normally, if a (plain-text mode) script generated by
<command>pg_dump</command> must alter the current database
user (e.g., to set correct object ownerships), it uses the
<xref linkend="app-psql"> <command>\connect</command> command.
......@@ -479,7 +480,7 @@ Postgres documentation
</para>
<para>
This option is only meaningful for the plain text format. For
This option is only meaningful for the plain-text format. For
the other formats, you may specify the option when you
call <command>pg_restore</command>.
</para>
......@@ -511,7 +512,7 @@ Postgres documentation
<listitem>
<para>
Specifies the host name of the machine on which the
<command>postmaster</command>
server
is running. If host begins with a slash, it is used
as the directory for the Unix domain socket.
</para>
......@@ -524,7 +525,7 @@ Postgres documentation
<listitem>
<para>
Specifies the Internet TCP/IP port or local Unix domain socket file
extension on which the <command>postmaster</command>
extension on which the server
is listening for connections. The port number defaults to 5432,
or the value of the <envar>PGPORT</envar>
environment variable (if set).
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_dumpall.sgml,v 1.25 2001/10/23 22:11:22 tgl Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_dumpall.sgml,v 1.26 2001/11/28 20:49:10 petere Exp $
Postgres documentation
-->
......@@ -36,7 +36,7 @@ Postgres documentation
<para>
<application>pg_dumpall</application> is a utility for writing out
(<quote>dumping</quote>) all Postgres databases of a cluster into
(<quote>dumping</quote>) all PostgreSQL databases of a cluster into
one script file. The script file contains SQL commands that can be
used as input to <xref linkend="app-psql">
to restore the databases. It does this by calling <xref
......@@ -104,7 +104,7 @@ Postgres documentation
<term>-h <replaceable>host</replaceable></term>
<listitem>
<para>
Specifies the hostname of the machine on which the database
Specifies the host name of the machine on which the database
server is running. If host begins with a slash, it is used as
the directory for the Unix domain socket. The default is
taken from the <envar>PGHOST</envar> environment variable, if
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/pg_passwd.sgml,v 1.8 2001/09/03 12:57:50 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/pg_passwd.sgml,v 1.9 2001/11/28 20:49:10 petere Exp $
Postgres documentation
-->
......@@ -16,7 +16,7 @@ Postgres documentation
<refnamediv>
<refname>pg_passwd</refname>
<refpurpose>change a secondary password file</refpurpose>
<refpurpose>change a secondary <productname>PostgreSQL</> password file</refpurpose>
</refnamediv>
<refsynopsisdiv>
......
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_restore.sgml,v 1.20 2001/11/26 23:09:21 tgl Exp $ -->
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/ref/pg_restore.sgml,v 1.21 2001/11/28 20:49:10 petere Exp $ -->
<refentry id="APP-PGRESTORE">
<docinfo>
......@@ -60,7 +60,7 @@
<para>
<command>pg_restore</command> is a utility for restoring a
<productname>Postgres</productname> database from an archive
<productname>PostgreSQL</productname> database from an archive
created by <xref linkend="app-pgdump"> in one of the non-plain-text
formats. It
will issue the commands necessary to re-generate all user-defined
......@@ -394,7 +394,7 @@
current database user (e.g., to set correct object
ownerships), a new connection to the database must be opened,
which might require manual interaction (e.g., passwords). If
you use the <option>-X use-set-session-authorization</option>,
you use the <option>-X use-set-session-authorization</option> option,
then <command>pg_restore</command> will instead use the <xref
linkend="sql-set-session-authorization"> command. This has
the same effect, but it requires that the user restoring the
......@@ -418,7 +418,7 @@
<listitem>
<para>
Specifies the host name of the machine on which the
<command>postmaster</command>
server
is running. If host begins with a slash, it is used
as the directory for the Unix domain socket.
</para>
......@@ -431,7 +431,7 @@
<listitem>
<para>
Specifies the Internet TCP/IP port or local Unix domain socket file
extension on which the <command>postmaster</command>
extension on which the server
is listening for connections. The port number defaults to 5432,
or the value of the <envar>PGPORT</envar>
environment variable (if set).
......@@ -487,7 +487,7 @@ connectDBStart() -- connect() failed: No such file or directory
<command>pg_restore</command> could not attach to the
<command>postmaster</command>
process on the specified host and port. If you see this message,
ensure that the <command>postmaster</command>
ensure that the server
is running on the proper host and that you have specified the proper
port. If your site uses an authentication system, ensure that you
have obtained the required authentication credentials.
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/pgaccess-ref.sgml,v 1.11 2001/09/03 12:57:50 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/Attic/pgaccess-ref.sgml,v 1.12 2001/11/28 20:49:10 petere Exp $
Postgres documentation
-->
......@@ -47,21 +47,21 @@ Postgres documentation
Description
</title>
<para>
<application>pgaccess</application> provides a graphical interface
for <productname>Postgres</productname>
<application>PgAccess</application> provides a graphical interface
for <productname>PostgreSQL</productname>
wherein you
can manage your tables, edit them, define queries, sequences and
functions.
</para>
<para>
<application>pgaccess</application> can:
<application>PgAccess</application> can:
<itemizedlist mark="bullet" spacing="compact">
<listitem>
<para>
Open any database on a specified host at the specified port,
username, and password.
user name, and password.
</para>
</listitem>
......@@ -80,7 +80,7 @@ Postgres documentation
</para>
<para>
For tables, <application>pgaccess</application> can:
For tables, <application>PgAccess</application> can:
<itemizedlist mark="bullet" spacing="compact">
<listitem>
......@@ -139,7 +139,7 @@ Postgres documentation
<listitem>
<para>
Delete records; point to the record, press <keycap>Delete</keycap> key.
Delete records; point to the record, press the <keycap>Delete</keycap> key.
</para>
</listitem>
......@@ -170,7 +170,7 @@ Postgres documentation
</para>
<para>
For queries, <application>pgaccess</application> can:
For queries, <application>PgAccess</application> can:
<itemizedlist mark="bullet" spacing="compact">
<listitem>
......@@ -222,7 +222,7 @@ select * from invoices where year=[parameter "Year of selection"]
</para>
<para>
For sequences, <application>pgaccess</application> can:
For sequences, <application>PgAccess</application> can:
<itemizedlist mark="bullet" spacing="compact">
<listitem>
......@@ -246,7 +246,7 @@ select * from invoices where year=[parameter "Year of selection"]
</para>
<para>
For views, <application>pgaccess</application> can:
For views, <application>PgAccess</application> can:
<itemizedlist mark="bullet" spacing="compact">
<listitem>
......@@ -276,7 +276,7 @@ select * from invoices where year=[parameter "Year of selection"]
</para>
<para>
For functions, <application>pgaccess</application> can:
For functions, <application>PgAccess</application> can:
<itemizedlist mark="bullet" spacing="compact">
<listitem>
......@@ -300,7 +300,7 @@ select * from invoices where year=[parameter "Year of selection"]
</para>
<para>
For reports, <application>pgaccess</application> can:
For reports, <application>PgAccess</application> can:
<itemizedlist mark="bullet" spacing="compact">
<listitem>
......@@ -330,7 +330,7 @@ select * from invoices where year=[parameter "Year of selection"]
</para>
<para>
For forms, <application>pgaccess</application> can:
For forms, <application>PgAccess</application> can:
<itemizedlist mark="bullet" spacing="compact">
<listitem>
......@@ -354,7 +354,7 @@ select * from invoices where year=[parameter "Year of selection"]
</para>
<para>
For scripts, <application>pgaccess</application> can:
For scripts, <application>PgAccess</application> can:
<itemizedlist mark="bullet" spacing="compact">
<listitem>
......@@ -382,9 +382,9 @@ select * from invoices where year=[parameter "Year of selection"]
<title>Notes</title>
<para>
<application>pgaccess</application> is written in Tcl/Tk. Your
<application>PgAccess</application> is written in Tcl/Tk. Your
<productname>PostgreSQL</productname> installation needs to be
built with Tcl support for <application>pgaccess</application> to
built with Tcl support for <application>PgAccess</application> to
be available.
</para>
</refsect1>
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/postgres-ref.sgml,v 1.21 2001/11/25 01:11:36 tgl Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/postgres-ref.sgml,v 1.22 2001/11/28 20:49:10 petere Exp $
Postgres documentation
-->
......@@ -99,7 +99,7 @@ Postgres documentation
queries and the results will be printed to the screen, but in a
form that is more useful for developers than end users. But note
that running a single-user backend is not truly suitable for
debugging the server since no realistic inter-process communication
debugging the server since no realistic interprocess communication
and locking will happen.
</para>
......@@ -355,7 +355,7 @@ Postgres documentation
<title>Usage</title>
<para>
Start a standalone backend with a command like
Start a stand-alone backend with a command like
<screen>
<userinput>postgres -D $PGDATA <replaceable>other-options</> my_database</userinput>
</screen>
......@@ -365,7 +365,7 @@ Postgres documentation
</para>
<para>
Normally, the standalone backend treats newline as the command
Normally, the stand-alone backend treats newline as the command
entry terminator; there is no intelligence about semicolons,
as there is in <application>psql</>. To continue a command
across multiple lines, you must type backslash just before each
......@@ -374,19 +374,22 @@ Postgres documentation
<para>
But if you use the <option>-N</> command line switch, then newline does
not terminate command entry. The backend will read stdin until EOF, then
not terminate command entry. The backend will read the standard input
until the end-of-file (EOF) marker, then
process the input as a single query string. Backslash-newline is not
treated specially in this case.
</para>
<para>
The standalone backend does not have readline input processing
(no command history, for example).
To quit the session, type EOF
(<keycombo action="simul"><keycap>Control</><keycap>D</></>, usually).
If you've
used <option>-N</>, two consecutive EOFs are needed to exit.
</para>
<para>
To quit the backend, type EOF (control-D, usually). If you've
used <option>-N</>, two consecutive EOFs are needed to exit.
Note that the stand-alone backend does not provide sophisticated
line-editing features (no command history, for example).
</para>
</refsect1>
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/postmaster.sgml,v 1.24 2001/11/26 19:41:55 momjian Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/postmaster.sgml,v 1.25 2001/11/28 20:49:10 petere Exp $
Postgres documentation
-->
......@@ -159,10 +159,11 @@ Postgres documentation
<term>-h <replaceable class="parameter">hostname</replaceable></term>
<listitem>
<para>
Specifies the TCP/IP hostname or address on which the
Specifies the TCP/IP host name or address on which the
<application>postmaster</application> is to listen for
connections from client applications. Defaults to
listening on all configured addresses (including localhost).
listening on all configured addresses (including
<systemitem class="systemname">localhost</systemitem>).
</para>
</listitem>
</varlistentry>
......@@ -274,11 +275,6 @@ Postgres documentation
Sets a named run-time parameter; a shorter form of
<option>-c</>.
</para>
<para>
The <option>--</> option will not work on FreeBSD or OpenBSD.
Use <option>-c</> instead. This should be fixed in
<productname>PostgreSQL</productname> 7.3.
</para>
</listitem>
</varlistentry>
......@@ -360,9 +356,9 @@ semget: No space left on device
<tip>
<para>
You may be able to postpone
reconfiguring your kernel by decreasing -B to reduce
<productname>Postgres</productname>' shared memory
consumption, and/or by reducing -N to reduce Postgres' semaphore
reconfiguring your kernel by decreasing <option>-B</option> to reduce
the shared memory consumption of <productname>PostgreSQL</>,
and/or by reducing <option>-N</option> to reduce the semaphore
consumption.
</para>
</tip>
......@@ -441,6 +437,14 @@ StreamServerPort: cannot bind to port
start and shut down the <application>postmaster</application>
safely and comfortably.
</para>
<para>
The <option>--</> options will not work on FreeBSD or OpenBSD.
Use <option>-c</> instead. This is a bug in the affected operating
systems; a future release of <productname>PostgreSQL</productname> will
provide a workaround if this is not fixed.
</para>
</refsect1>
<refsect1 id="app-postmaster-usage">
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/ref/vacuumdb.sgml,v 1.18 2001/09/03 12:57:50 petere Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/ref/vacuumdb.sgml,v 1.19 2001/11/28 20:49:10 petere Exp $
Postgres documentation
-->
......@@ -59,7 +59,7 @@ Postgres documentation
<varlistentry>
<term>-a</term>
<term>--alldb</term>
<term>--all</term>
<listitem>
<para>
Vacuum all databases.
......@@ -128,10 +128,10 @@ Postgres documentation
<term>--host <replaceable class="parameter">host</replaceable></term>
<listitem>
<para>
Specifies the hostname of the machine on which the
<application>postmaster</application>
Specifies the host name of the machine on which the
server
is running. If host begins with a slash, it is used
as the directory for the unix domain socket.
as the directory for the Unix domain socket.
</para>
</listitem>
</varlistentry>
......@@ -142,7 +142,7 @@ Postgres documentation
<listitem>
<para>
Specifies the Internet TCP/IP port or local Unix domain socket file
extension on which the <application>postmaster</application>
extension on which the server
is listening for connections.
</para>
</listitem>
......@@ -153,7 +153,7 @@ Postgres documentation
<term>--username <replaceable class="parameter">username</replaceable></term>
<listitem>
<para>
Username to connect as.
User name to connect as
</para>
</listitem>
</varlistentry>
......@@ -174,7 +174,7 @@ Postgres documentation
<listitem>
<para>
Echo the commands that <application>vacuumdb</application> generates
and sends to the backend.
and sends to the server.
</para>
</listitem>
</varlistentry>
......@@ -235,16 +235,16 @@ Postgres documentation
<para>
<application>vacuumdb</application> is a utility for cleaning a
<productname>Postgres</productname> database.
<productname>PostgreSQL</productname> database.
<application>vacuumdb</application> will also generate internal statistics
used by the <productname>Postgres</productname> query optimizer.
used by the <productname>PostgreSQL</productname> query optimizer.
</para>
<para>
<application>vacuumdb</application> is a shell script wrapper around the
backend command
<xref linkend="SQL-VACUUM" endterm="SQL-VACUUM-title"> via
the <productname>Postgres</productname> interactive terminal
the <productname>PostgreSQL</productname> interactive terminal
<xref linkend="APP-PSQL">. There is no effective
difference between vacuuming databases via this or other methods.
<application>psql</application> must be found by the script and
......
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/regress.sgml,v 1.21 2001/09/21 18:37:05 petere Exp $ -->
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/regress.sgml,v 1.22 2001/11/28 20:49:10 petere Exp $ -->
<chapter id="regress">
<title id="regress-title">Regression Tests</title>
......@@ -71,7 +71,7 @@
<prompt>root# </prompt><userinput>chmod -R a+w src/test/regress</userinput>
<prompt>root# </prompt><userinput>chmod -R a+w contrib/spi</userinput>
<prompt>root# </prompt><userinput>su - joeuser</userinput>
<prompt>joeuser$ </prompt><userinput>cd &lt;build top-level directory&gt;</userinput>
<prompt>joeuser$ </prompt><userinput>cd <replaceable>top-level build directory</></userinput>
<prompt>joeuser$ </prompt><userinput>gmake check</userinput>
</screen>
(The only possible <quote>security risk</quote> here is that other
......@@ -184,11 +184,11 @@
<para>
Some of the queries in the <filename>timestamp</filename> test will
fail if you run the test on the day of a daylight-savings time
fail if you run the test on the day of a daylight-saving time
changeover, or the day before or after one. These queries assume
that the intervals between midnight yesterday, midnight today and
midnight tomorrow are exactly twenty-four hours -- which is wrong
if daylight-savings time went into or out of effect meanwhile.
if daylight-saving time went into or out of effect meanwhile.
</para>
<para>
......@@ -224,7 +224,7 @@ PGTZ='PST8PDT7,M04.01.0,M10.05.03'; export PGTZ
<para>
Some systems using older time zone libraries fail to apply
daylight-savings corrections to dates before 1970, causing
daylight-saving corrections to dates before 1970, causing
pre-1970 <acronym>PDT</acronym> times to be displayed in <acronym>PST</acronym> instead. This will
result in localized differences in the test results.
</para>
......@@ -370,7 +370,7 @@ testname/platformpattern=comparisonfilename
<para>
For example: some systems using older time zone libraries fail to apply
daylight-savings corrections to dates before 1970, causing
daylight-saving corrections to dates before 1970, causing
pre-1970 <acronym>PDT</acronym> times to be displayed in <acronym>PST</acronym> instead. This causes a
few differences in the <filename>horology</> regression test.
Therefore, we provide a variant comparison file,
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/runtime.sgml,v 1.98 2001/11/28 00:13:30 momjian Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/runtime.sgml,v 1.99 2001/11/28 20:49:10 petere Exp $
-->
<Chapter Id="runtime">
......@@ -74,7 +74,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/runtime.sgml,v 1.98 2001/11/28 00:13:30 mom
file system location of your database system is indicated by the
<option>-D</option> option, for example
<screen>
&gt; <userinput>initdb -D /usr/local/pgsql/data</userinput>
<prompt>$</> <userinput>initdb -D /usr/local/pgsql/data</userinput>
</screen>
Note that you must execute this command while being logged in to
the <productname>PostgreSQL</productname> user account, which is described in the previous
......@@ -102,7 +102,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/runtime.sgml,v 1.98 2001/11/28 00:13:30 mom
root# <userinput>mkdir /usr/local/pgsql/data</userinput>
root# <userinput>chown postgres /usr/local/pgsql/data</userinput>
root# <userinput>su postgres</userinput>
postgres&gt; <userinput>initdb -D /usr/local/pgsql/data</userinput>
postgres$ <userinput>initdb -D /usr/local/pgsql/data</userinput>
</screen>
</para>
......@@ -151,7 +151,7 @@ NOTICE: Initializing database with en_US collation order.
<literal>LC_ALL</literal> or <literal>LANG</literal>. The sort order used
within a particular database cluster is set by <command>initdb</command>
and cannot be changed later, short of dumping all data, rerunning <command>initdb</command>,
reload data. So it's important to make this choice correctly now.
and reloading the data. So it's important to make this choice correctly now.
</para>
</sect1>
......@@ -169,7 +169,7 @@ NOTICE: Initializing database with en_US collation order.
to work on. This is done with the <option>-D</option> option. Thus,
the simplest way to start the server is, for example,
<screen>
&gt; <userinput>postmaster -D /usr/local/pgsql/data</userinput>
$ <userinput>postmaster -D /usr/local/pgsql/data</userinput>
</screen>
which will leave the server running in the foreground. This must
again be done while logged in to the <productname>PostgreSQL</productname> user account. Without
......@@ -182,13 +182,13 @@ NOTICE: Initializing database with en_US collation order.
To start the <application>postmaster</application> in the
background, use the usual shell syntax:
<screen>
&gt; <userinput>postmaster -D /usr/local/pgsql/data &gt; logfile 2&gt;&amp;1 &amp;</userinput>
$ <userinput>postmaster -D /usr/local/pgsql/data &gt; logfile 2&gt;&amp;1 &amp;</userinput>
</screen>
It is an extremely good idea to keep the server's stdout and stderr
output around somewhere, as suggested here. It will help both for auditing
purposes and to diagnose problems.
(See <xref linkend="logfile-maintenance"> for a more thorough discussion
of logfile handling.)
of log file handling.)
</para>
<para>
......@@ -196,8 +196,8 @@ NOTICE: Initializing database with en_US collation order.
<primary>TCP/IP</primary>
</indexterm>
The postmaster also takes a number of other command line options.
For more information see the reference page and below under runtime
configuration. In particular, in order for the postmaster to accept
For more information see the reference page and <xref linkend="runtime-config"> below.
In particular, in order for the server to accept
TCP/IP connections (rather than just Unix domain socket ones), you
must also specify the <option>-i</option> option.
</para>
......@@ -347,7 +347,7 @@ FATAL: StreamServerPort: bind() failed: Address already in use
example, trying to start a postmaster on a reserved port number
may draw something like
<screen>
&gt; <userinput>postmaster -i -p 666</userinput>
$ <userinput>postmaster -i -p 666</userinput>
FATAL: StreamServerPort: bind() failed: Permission denied
Is another postmaster already running on that port?
</screen>
......@@ -405,7 +405,7 @@ IpcSemaphoreCreate: semget(key=5440026, num=16, 01600) failed: No space left on
<para>
Although the possible error conditions on the client side are
both virtually infinite and application dependent, a few of them
both virtually infinite and application-dependent, a few of them
might be directly related to how the server was started up.
Conditions other than those shown below should be documented with
the respective client application.
......@@ -420,7 +420,7 @@ psql: could not connect to server: Connection refused
This is the generic <quote>I couldn't find a server to talk
to</quote> failure. It looks like the above when TCP/IP
communication is attempted. A common mistake is to forget the
<option>-i</option> to the postmaster to allow TCP/IP
<option>-i</option> option to allow the postmaster to accept TCP/IP
connections.
</para>
......@@ -612,7 +612,7 @@ env PGOPTIONS='-c geqo=off' psql
<term><varname>ENABLE_INDEXSCAN</varname> (<type>boolean</type>)</term>
<listitem>
<para>
Enables or disables the query planner's use of index scan plan
Enables or disables the query planner's use of index-scan plan
types. The default is on. This is mostly useful to debug the
query planner.
</para>
......@@ -739,8 +739,8 @@ env PGOPTIONS='-c geqo=off' psql
<listitem>
<para>
Use genetic query optimization to plan queries with at least
this many FROM items involved. (Note that a JOIN construct
counts as only one FROM item.) The default is 11. For simpler
this many <literal>FROM</> items involved. (Note that a <literal>JOIN</> construct
counts as only one <literal>FROM</> item.) The default is 11. For simpler
queries it is usually best to use the
deterministic, exhaustive planner. This parameter also controls
how hard the optimizer will try to merge subquery
......@@ -755,12 +755,12 @@ env PGOPTIONS='-c geqo=off' psql
<para>
The <firstterm>Key Set Query Optimizer</firstterm>
(<acronym>KSQO</acronym>) causes the query planner to convert
queries whose WHERE clause contains many OR'ed AND clauses
queries whose <literal>WHERE</> clause contains many OR'ed AND clauses
(such as <literal>WHERE (a=1 AND b=2) OR (a=2 AND b=3)
...</literal>) into a UNION query. This method can be faster
...</literal>) into a union query. This method can be faster
than the default implementation, but it doesn't necessarily
give exactly the same results, since UNION implicitly adds a
SELECT DISTINCT clause to eliminate identical output rows.
give exactly the same results, since <literal>UNION</> implicitly adds a
<literal>SELECT DISTINCT</> clause to eliminate identical output rows.
<acronym>KSQO</acronym> is commonly used when working with products like
<productname>Microsoft Access</productname>, which tend to
generate queries of this form.
......@@ -771,7 +771,7 @@ env PGOPTIONS='-c geqo=off' psql
with many OR'ed AND clauses, but in
<productname>PostgreSQL</productname> 7.0 and later the standard
planner handles these queries fairly successfully. Hence the
default is OFF.
default is off.
</para>
</listitem>
</varlistentry>
......@@ -815,7 +815,7 @@ env PGOPTIONS='-c geqo=off' psql
To use this option, the macro <literal>USE_ASSERT_CHECKING</literal>
must be defined when <productname>PostgreSQL</productname> is built (see the configure option
<literal>--enable-cassert</literal>). Note that
<literal>DEBUG_ASSERTIONS</literal> defaults to ON if <productname>PostgreSQL</productname>
<literal>DEBUG_ASSERTIONS</literal> defaults to on if <productname>PostgreSQL</productname>
has been built this way.
</para>
</listitem>
......@@ -1612,7 +1612,7 @@ dynamic_library_path = '/usr/local/lib/postgresql:/home/my_project/lib:$libdir'
<listitem>
<para>
Minimum number of concurrent open transactions to require before
performing the COMMIT_DELAY delay. A larger value makes it more
performing the <varname>COMMIT_DELAY</> delay. A larger value makes it more
probable that at least one other transaction will become ready to
commit during the delay interval.
</para>
......@@ -1765,7 +1765,7 @@ dynamic_library_path = '/usr/local/lib/postgresql:/home/my_project/lib:$libdir'
passed to the individual backend process via the
<option>-o</option> postmaster option, for example,
<screen>
&gt; <userinput>postmaster -o '-S 1024 -s'</userinput>
$ <userinput>postmaster -o '-S 1024 -s'</userinput>
</screen>
or via <envar>PGOPTIONS</envar> from the client side, as explained
above.
......@@ -2382,7 +2382,7 @@ default:\
<filename>postmaster.pid</filename> in the data directory. So for
example, to do a fast shutdown:
<screen>
&gt; <userinput>kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid`</userinput>
$ <userinput>kill -INT `head -1 /usr/local/pgsql/data/postmaster.pid`</userinput>
</screen>
</para>
<para>
......@@ -2404,24 +2404,24 @@ default:\
<acronym>SSL</> to encrypt
client/server communications for increased security. This requires
<productname>OpenSSL</productname> to be installed on both client
and server systems and support enabled at build-time (see <xref
and server systems and support enabled at build time (see <xref
linkend="installation">).
</para>
<para>
With SSL support compiled in, the <productname>PostgreSQL</> server
can be started with the argument <option>-l</> (ell) to enable
SSL connections. When starting in SSL mode, the postmaster will look
SSL connections. When starting in SSL mode, the server will look
for the files <filename>server.key</> and <filename>server.crt</> in
the data directory. These files should contain the server private key
and certificate respectively. These files must be set up correctly
before an SSL-enabled server can start. If the private key is protected
with a passphrase, the postmaster will prompt for the passphrase and will
with a passphrase, the server will prompt for the passphrase and will
not start until it has been entered.
</para>
<para>
The postmaster will listen for both standard and SSL connections
The server will listen for both standard and SSL connections
on the same TCP/IP port, and will negotiate with any connecting
client whether or not to use SSL.
See <xref linkend="client-authentication">
......@@ -2434,7 +2434,7 @@ default:\
refer to the <productname>OpenSSL</> documentation. A simple self-signed
certificate can be used to get started for testing, but a certificate signed
by a <acronym>CA</> (either one of the global <acronym>CAs</> or a local one) should be used in
production so the client can verify the servers identity. To create
production so the client can verify the server's identity. To create
a quick self-signed certificate, use the following <productname>OpenSSL</productname> command:
<programlisting>
openssl req -new -text -out cert.req
......@@ -2444,7 +2444,7 @@ openssl req -new -text -out cert.req
left blank. The script will generate a key that is passphrase protected;
it will not accept a pass phrase that is less than four characters long.
To remove the passphrase (as you must if you want automatic start-up of
the postmaster), run the commands
the server), run the commands
<programlisting>
openssl rsa -in privkey.pem -out cert.pem
</programlisting>
......@@ -2455,7 +2455,7 @@ cp cert.pem <replaceable>$PGDATA</replaceable>/server.key
cp cert.cert <replaceable>$PGDATA</replaceable>/server.crt
</programlisting>
to turn the certificate into a self-signed certificate and to copy the
key and certificate to where the postmaster will look for them.
key and certificate to where the server will look for them.
</para>
</sect1>
......@@ -2489,12 +2489,12 @@ cp cert.cert <replaceable>$PGDATA</replaceable>/server.crt
<command>ssh</command> as some user. Then you can establish a secure tunnel with a
command like this from the client machine:
<programlisting>
&gt; <userinput>ssh -L 3333:foo.com:5432 joe@foo.com</userinput>
$ <userinput>ssh -L 3333:foo.com:5432 joe@foo.com</userinput>
</programlisting>
The first number in the <option>-L</option> argument, 3333, is the
port number of your end of the tunnel; it can be chosen freely. The
second number, 5432, is the remote end of the tunnel -- the port
number your backend is using. The name or the address in between
number your server is using. The name or the address in between
the port numbers is the host with the database server you are going
to connect to. In order to connect to the database server using
this tunnel, you connect to port 3333 on the local machine:
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/start.sgml,v 1.20 2001/11/23 21:08:51 tgl Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/start.sgml,v 1.21 2001/11/28 20:49:10 petere Exp $
-->
<chapter id="tutorial-start">
......@@ -61,7 +61,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/start.sgml,v 1.20 2001/11/23 21:08:51 tgl E
Before we proceed, you should understand the basic
<productname>PostgreSQL</productname> system architecture.
Understanding how the parts of
<productname>PostgreSQL</productname> interact will make the next
<productname>PostgreSQL</productname> interact will make this
chapter somewhat clearer.
</para>
......@@ -105,7 +105,7 @@ $Header: /cvsroot/pgsql/doc/src/sgml/start.sgml,v 1.20 2001/11/23 21:08:51 tgl E
over a TCP/IP network connection. You should keep this in mind,
because the files that can be accessed on a client machine might
not be accessible (or might only be accessible using a different
file path) on the database server machine.
file name) on the database server machine.
</para>
<para>
......
<!--
$Header: /cvsroot/pgsql/doc/src/sgml/syntax.sgml,v 1.52 2001/11/21 06:09:45 thomas Exp $
$Header: /cvsroot/pgsql/doc/src/sgml/syntax.sgml,v 1.53 2001/11/28 20:49:10 petere Exp $
-->
<chapter id="sql-syntax">
......@@ -415,13 +415,13 @@ CAST ( '<replaceable>string</replaceable>' AS <replaceable>type</replaceable> )
for the type, as recorded in its <literal>pg_type</literal>
entry. (For all built-in types, this is the comma character
<quote><literal>,</literal></>.) Each <replaceable>val</replaceable> is either a constant
of the array element type, or a sub-array. An example of an
of the array element type, or a subarray. An example of an
array constant is
<programlisting>
'{{1,2,3},{4,5,6},{7,8,9}}'
</programlisting>
This constant is a two-dimensional, 3 by 3 array consisting of three
sub-arrays of integers.
This constant is a two-dimensional, 3-by-3 array consisting of three
subarrays of integers.
</para>
<para>
......@@ -750,7 +750,7 @@ CAST ( '<replaceable>string</replaceable>' AS <replaceable>type</replaceable> )
<para>
Command identifiers are also 32-bit quantities. This creates a hard
limit of 2^32 (4 billion) SQL commands within a single transaction.
limit of 2<superscript>32</> (4 billion) SQL commands within a single transaction.
In practice this limit is not a problem --- note that the limit is on
number of SQL queries, not number of tuples processed.
</para>
......@@ -877,7 +877,7 @@ CAST ( '<replaceable>string</replaceable>' AS <replaceable>type</replaceable> )
<replaceable>correlation</replaceable> is either the name of a
table, an alias for a table defined by means of a FROM clause, or
the keyword <literal>NEW</literal> or <literal>OLD</literal>.
the key words <literal>NEW</literal> or <literal>OLD</literal>.
(NEW and OLD can only appear in the action portion of a rule,
while other correlation names can be used in any SQL statement.)
The correlation name can be omitted if the column name is unique
......
......@@ -49,8 +49,8 @@ mixed-type expressions to be meaningful even with user-defined types.
<para>
The <productname>PostgreSQL</productname> scanner/parser decodes lexical
elements into only five fundamental categories: integers, floats, strings,
names, and keywords. Most extended types are first tokenized into
elements into only five fundamental categories: integers, floating-point numbers, strings,
names, and key words. Most extended types are first tokenized into
strings. The <acronym>SQL</acronym> language definition allows specifying type
names with strings, and this mechanism can be used in
<productname>PostgreSQL</productname> to start the parser down the correct
......@@ -84,8 +84,8 @@ Operators
<listitem>
<para>
<productname>PostgreSQL</productname> allows expressions with
prefix and postfix unary (one argument) operators,
as well as binary (two argument) operators.
prefix and postfix unary (one-argument) operators,
as well as binary (two-argument) operators.
</para>
</listitem>
</varlistentry>
......@@ -620,7 +620,7 @@ tgl=> SELECT substr(text(varchar '1234'), 3);
<note>
<para>
Actually, the parser is aware that <type>text</type> and <type>varchar</type>
are <firstterm>binary compatible</>, meaning that one can be passed to a function that
are <firstterm>binary-compatible</>, meaning that one can be passed to a function that
accepts the other without doing any physical conversion. Therefore, no
explicit type conversion call is really inserted in this case.
</para>
......
......@@ -22,7 +22,7 @@ CREATE USER <replaceable>name</replaceable>
</synopsis>
<replaceable>name</replaceable> follows the rules for SQL
identifiers: either unadorned without special characters, or
double-quoted. To remove an existing user, use the analog
double-quoted. To remove an existing user, use the analogous
<command>DROP USER</command> command.
</para>
......
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/wal.sgml,v 1.13 2001/11/21 06:09:45 thomas Exp $ -->
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/wal.sgml,v 1.14 2001/11/28 20:49:10 petere Exp $ -->
<chapter id="wal">
<title>Write-Ahead Logging (<acronym>WAL</acronym>)</title>
......@@ -54,7 +54,7 @@
<orderedlist>
<listitem>
<simpara>index tuples pointing to non-existent table rows</simpara>
<simpara>index tuples pointing to nonexistent table rows</simpara>
</listitem>
<listitem>
......@@ -148,8 +148,8 @@
<para>
<acronym>WAL</acronym> logs are stored in the directory
<Filename><replaceable>$PGDATA</replaceable>/pg_xlog</Filename>, as
a set of segment files, each 16MB in size. Each segment is
divided into 8KB pages. The log record headers are described in
a set of segment files, each 16 MB in size. Each segment is
divided into 8 kB pages. The log record headers are described in
<filename>access/xlog.h</filename>; record content is dependent on
the type of event that is being logged. Segment files are given
ever-increasing numbers as names, starting at
......@@ -163,7 +163,7 @@
shared memory, and are handled by the backends; they are protected
by lightweight locks. The demand on shared memory is dependent on the
number of buffers. The default size of the <acronym>WAL</acronym>
buffers is 8 8KB buffers, or 64KB.
buffers is 8 buffers of 8 kB each, or 64 kB total.
</para>
<para>
......@@ -208,7 +208,7 @@
corruption of <filename>pg_control</filename>, we should actually
implement the reading of existing log segments in reverse order --
newest to oldest -- in order to find the last checkpoint. This has
not yet been done in release 7.1.
not been implemented, yet.
</para>
</sect2>
</sect1>
......@@ -348,11 +348,11 @@
</para>
<para>
Setting the <varname>WAL_DEBUG</varname> parameter to any non-zero
Setting the <varname>WAL_DEBUG</varname> parameter to any nonzero
value will result in each <function>LogInsert</function> and
<function>LogFlush</function> <acronym>WAL</acronym> call being
logged to standard error. At present, it makes no difference what
the non-zero value is. This option may be replaced by a more
the nonzero value is. This option may be replaced by a more
general mechanism in the future.
</para>
</sect1>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册