From b876e30f8f2b74ec6fc1d7af1fe485bab0c9ddcc Mon Sep 17 00:00:00 2001
From: Marti Raudsepp <marti@juffo.org>
Date: Mon, 25 Aug 2014 19:57:17 +0300
Subject: [PATCH 2/3] doc: Fix usages of etc., e.g., i.e., et al.

Using two custom rules with Topy:

<Typo word="Add comma after i.e. & e.g."
      find="\b([Ii]\.e|[Ee]\.g)\.? ?(\s|$)"
      replace="$1.,$2" />
<Typo word="Add comma before i.e. & e.g."
      find="([a-z])(\s+([Ii]\.e|[Ee]\.g))\b"
      replace="$1,$2" />
---
 doc/src/sgml/advanced.sgml                 |  2 +-
 doc/src/sgml/arch-dev.sgml                 |  2 +-
 doc/src/sgml/biblio.sgml                   |  6 ++---
 doc/src/sgml/bki.sgml                      |  4 ++--
 doc/src/sgml/config.sgml                   | 18 +++++++-------
 doc/src/sgml/cube.sgml                     |  4 ++--
 doc/src/sgml/datatype.sgml                 |  4 ++--
 doc/src/sgml/datetime.sgml                 |  2 +-
 doc/src/sgml/ddl.sgml                      |  4 ++--
 doc/src/sgml/docguide.sgml                 |  8 +++----
 doc/src/sgml/ecpg.sgml                     |  6 ++---
 doc/src/sgml/extend.sgml                   |  4 ++--
 doc/src/sgml/func.sgml                     | 14 +++++------
 doc/src/sgml/gin.sgml                      |  2 +-
 doc/src/sgml/high-availability.sgml        |  8 +++----
 doc/src/sgml/install-windows.sgml          |  4 ++--
 doc/src/sgml/libpq.sgml                    | 12 +++++-----
 doc/src/sgml/manage-ag.sgml                |  2 +-
 doc/src/sgml/monitoring.sgml               |  2 +-
 doc/src/sgml/perform.sgml                  |  2 +-
 doc/src/sgml/pgbench.sgml                  |  2 +-
 doc/src/sgml/pgupgrade.sgml                | 22 ++++++++---------
 doc/src/sgml/plperl.sgml                   |  6 ++---
 doc/src/sgml/pltcl.sgml                    |  2 +-
 doc/src/sgml/protocol.sgml                 | 26 ++++++++++----------
 doc/src/sgml/recovery-config.sgml          |  2 +-
 doc/src/sgml/ref/create_database.sgml      |  4 ++--
 doc/src/sgml/ref/create_domain.sgml        |  2 +-
 doc/src/sgml/ref/create_event_trigger.sgml |  2 +-
 doc/src/sgml/ref/create_function.sgml      |  2 +-
 doc/src/sgml/ref/create_table.sgml         |  2 +-
 doc/src/sgml/ref/grant.sgml                |  2 +-
 doc/src/sgml/ref/initdb.sgml               |  2 +-
 doc/src/sgml/ref/pg_dump.sgml              |  2 +-
 doc/src/sgml/ref/pg_dumpall.sgml           |  2 +-
 doc/src/sgml/ref/pg_restore.sgml           |  2 +-
 doc/src/sgml/ref/postgres-ref.sgml         |  2 +-
 doc/src/sgml/ref/psql-ref.sgml             |  6 ++---
 doc/src/sgml/ref/values.sgml               |  2 +-
 doc/src/sgml/release-7.4.sgml              |  8 +++----
 doc/src/sgml/release-8.0.sgml              |  8 +++----
 doc/src/sgml/release-8.1.sgml              | 10 ++++----
 doc/src/sgml/release-8.2.sgml              | 10 ++++----
 doc/src/sgml/release-8.3.sgml              |  6 ++---
 doc/src/sgml/release-8.4.sgml              |  4 ++--
 doc/src/sgml/release-9.0.sgml              |  4 ++--
 doc/src/sgml/release-9.1.sgml              |  6 ++---
 doc/src/sgml/release-9.2.sgml              |  6 ++---
 doc/src/sgml/release-9.3.sgml              |  4 ++--
 doc/src/sgml/release-9.4.sgml              |  6 ++---
 doc/src/sgml/release-old.sgml              | 38 +++++++++++++++---------------
 doc/src/sgml/runtime.sgml                  |  4 ++--
 doc/src/sgml/sepgsql.sgml                  |  2 +-
 doc/src/sgml/sources.sgml                  |  4 ++--
 doc/src/sgml/sslinfo.sgml                  |  4 ++--
 doc/src/sgml/syntax.sgml                   |  2 +-
 doc/src/sgml/tsearch2.sgml                 |  2 +-
 doc/src/sgml/wal.sgml                      |  2 +-
 doc/src/sgml/xfunc.sgml                    |  6 ++---
 doc/src/sgml/xml2.sgml                     |  4 ++--
 60 files changed, 171 insertions(+), 171 deletions(-)

diff --git a/doc/src/sgml/advanced.sgml b/doc/src/sgml/advanced.sgml
index 1e45511..2b6ed22 100644
--- a/doc/src/sgml/advanced.sgml
+++ b/doc/src/sgml/advanced.sgml
@@ -225,7 +225,7 @@ UPDATE branches SET balance = balance + 100.00
 BEGIN;
 UPDATE accounts SET balance = balance - 100.00
     WHERE name = 'Alice';
--- etc etc
+-- etc. etc.
 COMMIT;
 </programlisting>
    </para>
diff --git a/doc/src/sgml/arch-dev.sgml b/doc/src/sgml/arch-dev.sgml
index c835e87..9daddee 100644
--- a/doc/src/sgml/arch-dev.sgml
+++ b/doc/src/sgml/arch-dev.sgml
@@ -259,7 +259,7 @@
      system catalog lookups can only be done within a transaction, and we
      do not wish to start a transaction immediately upon receiving a query
      string.  The raw parsing stage is sufficient to identify the transaction
-     control commands (<command>BEGIN</>, <command>ROLLBACK</>, etc), and
+     control commands (<command>BEGIN</>, <command>ROLLBACK</>, etc.), and
      these can then be correctly executed without any further analysis.
      Once we know that we are dealing with an actual query (such as
      <command>SELECT</> or <command>UPDATE</>), it is okay to
diff --git a/doc/src/sgml/biblio.sgml b/doc/src/sgml/biblio.sgml
index e2cd69d..12e59ea 100644
--- a/doc/src/sgml/biblio.sgml
+++ b/doc/src/sgml/biblio.sgml
@@ -22,7 +22,7 @@
 
    <biblioentry id="BOWMAN01">
     <title>The Practical <acronym>SQL</acronym> Handbook</title>
-    <titleabbrev>Bowman et al, 2001</titleabbrev>
+    <titleabbrev>Bowman et al., 2001</titleabbrev>
     <subtitle>Using SQL Variants</subtitle>
     <edition>Fourth Edition</edition>
     <authorgroup>
@@ -434,7 +434,7 @@ ssimkovi@ag.or.at
     <title><ulink url="http://db.cs.berkeley.edu/papers/ERL-M89-82.pdf">
     A commentary on the <productname>POSTGRES</productname> rules system
     </ulink></title>
-    <titleabbrev>Stonebraker et al, 1989</titleabbrev>
+    <titleabbrev>Stonebraker et al., 1989</titleabbrev>
     <authorgroup>
      <author>
       <firstname>M.</firstname>
@@ -511,7 +511,7 @@ ssimkovi@ag.or.at
     <title><ulink url="http://db.cs.berkeley.edu/papers/ERL-M90-36.pdf">
     On Rules, Procedures, Caching and Views in Database Systems
     </ulink></title>
-    <titleabbrev>Stonebraker et al, ACM, 1990</titleabbrev>
+    <titleabbrev>Stonebraker et al., ACM, 1990</titleabbrev>
     <authorgroup>
      <author>
       <firstname>M.</firstname>
diff --git a/doc/src/sgml/bki.sgml b/doc/src/sgml/bki.sgml
index aaf500a..39b7a7b 100644
--- a/doc/src/sgml/bki.sgml
+++ b/doc/src/sgml/bki.sgml
@@ -111,11 +111,11 @@
       When <literal>bootstrap</> is specified,
       the table will only be created on disk; nothing is entered into
       <structname>pg_class</structname>,
-      <structname>pg_attribute</structname>, etc, for it.  Thus the
+      <structname>pg_attribute</structname>, etc., for it.  Thus the
       table will not be accessible by ordinary SQL operations until
       such entries are made the hard way (with <literal>insert</>
       commands).  This option is used for creating
-      <structname>pg_class</structname> etc themselves.
+      <structname>pg_class</structname> etc. themselves.
      </para>
 
      <para>
diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index f23e5dc..f91ab0e 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -248,7 +248,7 @@ include_dir 'directory'
         names that start with the <literal>.</literal> character are also excluded,
         to prevent mistakes as they are hidden on some platforms.  Multiple files
         within an include directory are processed in file name order. The file names
-        are ordered by C locale rules, i.e. numbers before letters, and uppercase
+        are ordered by C locale rules, i.e., numbers before letters, and uppercase
         letters before lowercase ones.
      </para>
 
@@ -1118,7 +1118,7 @@ include_dir 'conf.d'
        <para>
         With this parameter enabled, you can still create ordinary global
         users.  Simply append <literal>@</> when specifying the user
-        name in the client, e.g. <literal>joe@</>.  The <literal>@</>
+        name in the client, e.g., <literal>joe@</>.  The <literal>@</>
         will be stripped off before the user name is looked up by the
         server.
        </para>
@@ -2377,7 +2377,7 @@ include_dir 'conf.d'
         disabled, but the server continues to accumulate WAL segment files in
         the expectation that a command will soon be provided.  Setting
         <varname>archive_command</> to a command that does nothing but
-        return true, e.g. <literal>/bin/true</> (<literal>REM</> on
+        return true, e.g., <literal>/bin/true</> (<literal>REM</> on
         Windows), effectively disables
         archiving, but also breaks the chain of WAL files needed for
         archive recovery, so it should only be used in unusual circumstances.
@@ -3117,7 +3117,7 @@ include_dir 'conf.d'
         if your data is likely to be completely in cache, such as when
         the database is smaller than the total server memory, decreasing
         random_page_cost can be appropriate.  Storage that has a low random
-        read cost relative to sequential, e.g. solid-state drives, might
+        read cost relative to sequential, e.g., solid-state drives, might
         also be better modeled with a lower value for random_page_cost.
        </para>
 
@@ -3815,7 +3815,7 @@ local0.*    /var/log/postgresql
        <para>
         Example:  To keep 7 days of logs, one log file per day named
         <literal>server_log.Mon</literal>, <literal>server_log.Tue</literal>,
-        etc, and automatically overwrite last week's log with this week's log,
+        etc., and automatically overwrite last week's log with this week's log,
         set <varname>log_filename</varname> to <literal>server_log.%a</literal>,
         <varname>log_truncate_on_rotation</varname> to <literal>on</literal>, and
         <varname>log_rotation_age</varname> to <literal>1440</literal>.
@@ -5259,7 +5259,7 @@ COPY postgres_log FROM '/full/path/to/logfile.csv' WITH csv;
         alias <literal>pg_temp</><indexterm><primary>pg_temp</></>.  If it is not listed in the path then
         it is searched first (even before <literal>pg_catalog</>).  However,
         the temporary schema is only searched for relation (table, view,
-        sequence, etc) and data type names.  It is never searched for
+        sequence, etc.) and data type names.  It is never searched for
         function or operator names.
        </para>
 
@@ -6309,7 +6309,7 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir'
         rows that can be locked; that value is unlimited.  The default,
         64, has historically proven sufficient, but you might need to
         raise this value if you have queries that touch many different
-        tables in a single transaction, e.g. query of a parent table with
+        tables in a single transaction, e.g., query of a parent table with
         many children.  This parameter can only be set at server start.
        </para>
 
@@ -6757,8 +6757,8 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir'
         Reports whether <productname>PostgreSQL</productname> has been built
         with assertions enabled. That is the case if the
         macro <symbol>USE_ASSERT_CHECKING</symbol> is defined
-        when <productname>PostgreSQL</productname> is built (accomplished
-        e.g. by the <command>configure</command> option
+        when <productname>PostgreSQL</productname> is built (accomplished,
+        e.g., by the <command>configure</command> option
         <option>--enable-cassert</option>). By
         default <productname>PostgreSQL</productname> is built without
         assertions.
diff --git a/doc/src/sgml/cube.sgml b/doc/src/sgml/cube.sgml
index e2da685..fc3b94d 100644
--- a/doc/src/sgml/cube.sgml
+++ b/doc/src/sgml/cube.sgml
@@ -272,9 +272,9 @@
       </literal></entry>
       <entry>Makes a new cube from an existing cube, using a list of
        dimension indexes from an array. Can be used to find both the LL and UR
-       coordinates of a single dimension, e.g.
+       coordinates of a single dimension, e.g.,
        <literal>cube_subset(cube('(1,3,5),(6,7,8)'), ARRAY[2]) = '(3),(7)'</>.
-       Or can be used to drop dimensions, or reorder them as desired, e.g.
+       Or can be used to drop dimensions, or reorder them as desired, e.g.,
        <literal>cube_subset(cube('(1,3,5),(6,7,8)'), ARRAY[3,2,1,1]) = '(5, 3,
        1, 1),(8, 7, 6, 6)'</>.
       </entry>
diff --git a/doc/src/sgml/datatype.sgml b/doc/src/sgml/datatype.sgml
index 3e83dbb..5148cb0 100644
--- a/doc/src/sgml/datatype.sgml
+++ b/doc/src/sgml/datatype.sgml
@@ -1074,13 +1074,13 @@ SELECT '52093.89'::money::numeric::float8;
     semantically insignificant and disregarded when comparing two values
     of type <type>character</type>.  In collations where whitespace
     is significant, this behavior can produce unexpected results,
-    e.g. <command>SELECT 'a '::CHAR(2) collate "C" &lt;
+    e.g., <command>SELECT 'a '::CHAR(2) collate "C" &lt;
     'a\n'::CHAR(2)</command> returns true.
     Trailing spaces are removed when converting a <type>character</type> value
     to one of the other string types.  Note that trailing spaces
     <emphasis>are</> semantically significant in
     <type>character varying</type> and <type>text</type> values, and
-    when using pattern matching, e.g. <literal>LIKE</>,
+    when using pattern matching, e.g., <literal>LIKE</>,
     regular expressions.
    </para>
 
diff --git a/doc/src/sgml/datetime.sgml b/doc/src/sgml/datetime.sgml
index 444b0ec..9c550c6 100644
--- a/doc/src/sgml/datetime.sgml
+++ b/doc/src/sgml/datetime.sgml
@@ -415,7 +415,7 @@
 
    <para>
     For reference purposes, a standard installation also contains files
-    <filename>Africa.txt</>, <filename>America.txt</>, etc, containing
+    <filename>Africa.txt</>, <filename>America.txt</>, etc., containing
     information about every time zone abbreviation known to be in use
     according to the <literal>zoneinfo</> timezone database.  The zone name
     definitions found in these files can be copied and pasted into a custom
diff --git a/doc/src/sgml/ddl.sgml b/doc/src/sgml/ddl.sgml
index 0fcd9f8..65fdf0b 100644
--- a/doc/src/sgml/ddl.sgml
+++ b/doc/src/sgml/ddl.sgml
@@ -1438,7 +1438,7 @@ ALTER TABLE products RENAME TO items;
    <literal>CREATE</>, <literal>CONNECT</>, <literal>TEMPORARY</>,
    <literal>EXECUTE</>, and <literal>USAGE</>.
    The privileges applicable to a particular
-   object vary depending on the object's type (table, function, etc).
+   object vary depending on the object's type (table, function, etc.).
    For complete information on the different types of privileges
    supported by <productname>PostgreSQL</productname>, refer to the
    <xref linkend="sql-grant"> reference
@@ -1453,7 +1453,7 @@ ALTER TABLE products RENAME TO items;
 
   <para>
    An object can be assigned to a new owner with an <command>ALTER</command>
-   command of the appropriate kind for the object, e.g. <xref
+   command of the appropriate kind for the object, e.g., <xref
    linkend="sql-altertable">.  Superusers can always do
    this; ordinary roles can only do it if they are both the current owner
    of the object (or a member of the owning role) and a member of the new
diff --git a/doc/src/sgml/docguide.sgml b/doc/src/sgml/docguide.sgml
index 816375f..36b2b30 100644
--- a/doc/src/sgml/docguide.sgml
+++ b/doc/src/sgml/docguide.sgml
@@ -687,16 +687,16 @@ save_size.pdfjadetex = 15000
 
    <para>
     Occasionally text is too wide for the printed margins, and in
-    extreme cases, too wide for the printed page, e.g.  non-wrapped
+    extreme cases, too wide for the printed page, e.g., non-wrapped
     text, wide tables.  Overly wide text generates <quote>Overfull
-    hbox</quote> messages in the TeX log output file, e.g.
+    hbox</quote> messages in the TeX log output file, e.g.,
     <filename>postgres-US.log</> or <filename>postgres-A4.log</>.
     There are 72 points in an inch so anything reported as over 72
     points too wide will probably not fit on the printed page (assuming
     one inch margins).  To find the <acronym>SGML</acronym> text
     causing the overflow, find the first page number mentioned above
-    the overflow message, e.g.  <literal>[50 ###]</> (page 50), and
-    look at the page after that (e.g. page 51) in the <acronym>PDF</acronym>
+    the overflow message, e.g., <literal>[50 ###]</> (page 50), and
+    look at the page after that (e.g., page 51) in the <acronym>PDF</acronym>
     file to see the overflow text and adjust the <acronym>SGML</acronym>
     accordingly.
    </para>
diff --git a/doc/src/sgml/ecpg.sgml b/doc/src/sgml/ecpg.sgml
index f9536ee..5398ee2 100644
--- a/doc/src/sgml/ecpg.sgml
+++ b/doc/src/sgml/ecpg.sgml
@@ -3577,7 +3577,7 @@ EXEC SQL DEALLOCATE DESCRIPTOR <replaceable>identifier</replaceable>;
 EXEC SQL FETCH NEXT FROM mycursor INTO SQL DESCRIPTOR mydesc;
 </programlisting>
     If the result set is empty, the Descriptor Area will still contain
-    the metadata from the query, i.e. the field names.
+    the metadata from the query, i.e., the field names.
    </para>
 
    <para>
@@ -3994,7 +3994,7 @@ typedef struct sqlvar_struct sqlvar_t;
          <term><literal>sqllen</></term>
           <listitem>
            <para>
-            Contains the binary length of the field. e.g. 4 bytes for <type>ECPGt_int</type>.
+            Contains the binary length of the field. e.g., 4 bytes for <type>ECPGt_int</type>.
            </para>
           </listitem>
          </varlistentry>
@@ -7911,7 +7911,7 @@ EXEC SQL CLOSE DATABASE;
       <term><literal>FREE cursor_name</></term>
       <listitem>
        <para>
-        Due to the differences how ECPG works compared to Informix's ESQL/C (i.e. which steps
+        Due to the differences how ECPG works compared to Informix's ESQL/C (i.e., which steps
         are purely grammar transformations and which steps rely on the underlying run-time library)
         there is no <literal>FREE cursor_name</> statement in ECPG. This is because in ECPG,
         <literal>DECLARE CURSOR</literal> doesn't translate to a function call into
diff --git a/doc/src/sgml/extend.sgml b/doc/src/sgml/extend.sgml
index a2d4ca2..0cfd704 100644
--- a/doc/src/sgml/extend.sgml
+++ b/doc/src/sgml/extend.sgml
@@ -495,7 +495,7 @@
        <para>
         An extension is <firstterm>relocatable</> if it is possible to move
         its contained objects into a different schema after initial creation
-        of the extension.  The default is <literal>false</>, i.e. the
+        of the extension.  The default is <literal>false</>, i.e., the
         extension is not relocatable.
         See below for more information.
        </para>
@@ -530,7 +530,7 @@
     <para>
      An extension's <acronym>SQL</> script files can contain any SQL commands,
      except for transaction control commands (<command>BEGIN</>,
-     <command>COMMIT</>, etc) and commands that cannot be executed inside a
+     <command>COMMIT</>, etc.) and commands that cannot be executed inside a
      transaction block (such as <command>VACUUM</>).  This is because the
      script files are implicitly executed within a transaction block.
     </para>
diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml
index 734ef5f..8ded515 100644
--- a/doc/src/sgml/func.sgml
+++ b/doc/src/sgml/func.sgml
@@ -4193,7 +4193,7 @@ SELECT foo FROM regexp_split_to_table('the quick brown fox', E'\\s*') AS foo;
    <para>
     A branch is zero or more <firstterm>quantified atoms</> or
     <firstterm>constraints</>, concatenated.
-    It matches a match for the first, followed by a match for the second, etc;
+    It matches a match for the first, followed by a match for the second, etc.;
     an empty branch matches the empty string.
    </para>
 
@@ -5807,7 +5807,7 @@ SELECT SUBSTRING('XY1234Z', 'Y*?([0-9]{1,3})');
        will be replaced by the year data, but the single <literal>Y</literal> in <literal>Year</literal>
        will not be.  In <function>to_date</>, <function>to_number</>,
        and <function>to_timestamp</>, double-quoted strings skip the number of
-       input characters contained in the string, e.g. <literal>"XX"</>
+       input characters contained in the string, e.g., <literal>"XX"</>
        skips two input characters.
       </para>
      </listitem>
@@ -5822,9 +5822,9 @@ SELECT SUBSTRING('XY1234Z', 'Y*?([0-9]{1,3})');
 
      <listitem>
       <para>
-       If the year format specification is less than four digits, e.g.
+       If the year format specification is less than four digits, e.g.,
        <literal>YYY</>, and the supplied year is less than four digits,
-       the year will be adjusted to be nearest to the year 2020, e.g.
+       the year will be adjusted to be nearest to the year 2020, e.g.,
        <literal>95</> becomes 1995.
       </para>
      </listitem>
@@ -5925,7 +5925,7 @@ SELECT SUBSTRING('XY1234Z', 'Y*?([0-9]{1,3})');
      <listitem>
       <para>
         <function>to_char(interval)</function> formats <literal>HH</> and
-        <literal>HH12</> as shown on a 12-hour clock, i.e. zero hours
+        <literal>HH12</> as shown on a 12-hour clock, i.e., zero hours
         and 36 hours output as <literal>12</>, while <literal>HH24</>
         outputs the full hour value, which can exceed 23 for intervals.
       </para>
@@ -8863,7 +8863,7 @@ CREATE TYPE rainbow AS ENUM ('red', 'orange', 'yellow', 'green', 'blue', 'purple
 
     <para>
      In addition to the operators shown in the table, the ordinary B-tree
-     comparison operators (<literal>=</>, <literal>&lt;</>, etc) are defined
+     comparison operators (<literal>=</>, <literal>&lt;</>, etc.) are defined
      for types <type>tsvector</> and <type>tsquery</>.  These are not very
      useful for text searching but allow, for example, unique indexes to be
      built on columns of these types.
@@ -17561,7 +17561,7 @@ FOR EACH ROW EXECUTE PROCEDURE suppress_redundant_updates_trigger();
        <row>
         <entry><literal>objsubid</literal></entry>
         <entry><type>int32</type></entry>
-        <entry>Object sub-id (e.g. attribute number for columns)</entry>
+        <entry>Object sub-id (e.g., attribute number for columns)</entry>
        </row>
        <row>
         <entry><literal>object_type</literal></entry>
diff --git a/doc/src/sgml/gin.sgml b/doc/src/sgml/gin.sgml
index 80a578d..c9454c4 100644
--- a/doc/src/sgml/gin.sgml
+++ b/doc/src/sgml/gin.sgml
@@ -630,7 +630,7 @@
        contains the corresponding query keys. Likewise, the function must
        return GIN_FALSE only if the item does not match, whether or not it
        contains the GIN_MAYBE keys. If the result depends on the GIN_MAYBE
-       entries, i.e. the match cannot be confirmed or refuted based on the
+       entries, i.e., the match cannot be confirmed or refuted based on the
        known query keys, the function must return GIN_MAYBE.
       </para>
       <para>
diff --git a/doc/src/sgml/high-availability.sgml b/doc/src/sgml/high-availability.sgml
index d249959..fc26438 100644
--- a/doc/src/sgml/high-availability.sgml
+++ b/doc/src/sgml/high-availability.sgml
@@ -203,7 +203,7 @@ protocol to make nodes agree on a serializable transactional order.
      this is unacceptable, either the middleware or the application
      must query such values from a single server and then use those
      values in write queries.  Another option is to use this replication
-     option with a traditional master-standby setup, i.e. data modification
+     option with a traditional master-standby setup, i.e., data modification
      queries are sent only to the master and are propagated to the
      standby servers via master-standby replication, not by the replication
      middleware.  Care must also be taken that all
@@ -631,7 +631,7 @@ protocol to make nodes agree on a serializable transactional order.
     Set up continuous archiving on the primary to an archive directory
     accessible from the standby, as described
     in <xref linkend="continuous-archiving">. The archive location should be
-    accessible from the standby even when the master is down, i.e. it should
+    accessible from the standby even when the master is down, i.e., it should
     reside on the standby server itself or another trusted server, not on
     the master server.
    </para>
@@ -2029,7 +2029,7 @@ LOG:  database system is ready to accept read only connections
       <itemizedlist>
        <listitem>
         <para>
-         Data Definition Language (DDL) - e.g. <command>CREATE INDEX</>
+         Data Definition Language (DDL) - e.g., <command>CREATE INDEX</>
         </para>
        </listitem>
        <listitem>
@@ -2095,7 +2095,7 @@ LOG:  database system is ready to accept read only connections
 
    <para>
     WAL file control commands will not work during recovery,
-    e.g. <function>pg_start_backup</>, <function>pg_switch_xlog</> etc.
+    e.g., <function>pg_start_backup</>, <function>pg_switch_xlog</> etc.
    </para>
 
    <para>
diff --git a/doc/src/sgml/install-windows.sgml b/doc/src/sgml/install-windows.sgml
index 71a5c2e..f00668a 100644
--- a/doc/src/sgml/install-windows.sgml
+++ b/doc/src/sgml/install-windows.sgml
@@ -106,7 +106,7 @@
   In the <productname>Microsoft Windows SDK</productname>, start the
   <application>CMD shell</application> listed under the SDK on the Start Menu.
   In recent SDK versions you can change the targeted CPU architecture, build
-  type, and target OS by using the <command>setenv</command> command, e.g.
+  type, and target OS by using the <command>setenv</command> command, e.g.,
   <command>setenv /x86 /release /xp</command> to target Windows XP or later
   with a 32-bit release build. See <command>/?</command> for other options to
   <command>setenv</command>.  All commands should be run from the
@@ -234,7 +234,7 @@ $ENV{PATH}=$ENV{PATH} . ';c:\some\where\bison\bin';
         installations <filename>C:\Program Files\GnuWin32</filename>.
         Consider installing into <filename>C:\GnuWin32</filename> or use the
         NTFS short name path to GnuWin32 in your PATH environment setting
-        (e.g. <filename>C:\PROGRA~1\GnuWin32</filename>).
+        (e.g., <filename>C:\PROGRA~1\GnuWin32</filename>).
        </para>
      </note>
 
diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml
index ef45fbf..8210e71 100644
--- a/doc/src/sgml/libpq.sgml
+++ b/doc/src/sgml/libpq.sgml
@@ -2316,7 +2316,7 @@ PGresult *PQdescribePrepared(PGconn *conn, const char *stmtName);
         <structname>PGresult</> to obtain information about the parameters
         of the prepared statement, and the functions
         <function>PQnfields</function>, <function>PQfname</function>,
-        <function>PQftype</function>, etc provide information about the
+        <function>PQftype</function>, etc. provide information about the
         result columns (if any) of the statement.
        </para>
       </listitem>
@@ -2355,7 +2355,7 @@ PGresult *PQdescribePortal(PGconn *conn, const char *portalName);
         portal.  On success, a <structname>PGresult</> with status
         <literal>PGRES_COMMAND_OK</literal> is returned.  The functions
         <function>PQnfields</function>, <function>PQfname</function>,
-        <function>PQftype</function>, etc can be applied to the
+        <function>PQftype</function>, etc. can be applied to the
         <structname>PGresult</> to obtain information about the result
         columns (if any) of the portal.
        </para>
@@ -4437,7 +4437,7 @@ int PQflush(PGconn *conn);
    more rows will arrive.  (But note that it is still necessary to continue
    calling <function>PQgetResult</function> until it returns null.)  All of
    these <structname>PGresult</structname> objects will contain the same row
-   description data (column names, types, etc) that an ordinary
+   description data (column names, types, etc.) that an ordinary
    <structname>PGresult</structname> object for the query would have.
    Each object should be freed with <function>PQclear</function> as usual.
   </para>
@@ -4907,7 +4907,7 @@ typedef struct pgNotify
      <listitem>
       <para>
        0 indicates the overall copy format is textual (rows separated by
-       newlines, columns separated by separator characters, etc).  1
+       newlines, columns separated by separator characters, etc.).  1
        indicates the overall copy format is binary.  See <xref
        linkend="sql-copy"> for more information.
       </para>
@@ -7195,7 +7195,7 @@ ldap://ldap.acme.com/cn=dbserver,cn=hosts?pgconnectinfo?base?(objectclass=*)
    certificate of the signing authority to the <filename>postgresql.crt</>
    file, then its parent authority's certificate, and so on up to a certificate
    authority, <quote>root</> or <quote>intermediate</>, that is trusted by
-   the server, i.e. signed by a certificate in the server's
+   the server, i.e., signed by a certificate in the server's
    <filename>root.crt</filename> file.
   </para>
 
@@ -7262,7 +7262,7 @@ ldap://ldap.acme.com/cn=dbserver,cn=hosts?pgconnectinfo?base?(objectclass=*)
    For a connection to be known secure, SSL usage must be configured
    on <emphasis>both the client and the server</> before the connection
    is made. If it is only configured on the server, the client may end up
-   sending sensitive information (e.g. passwords) before
+   sending sensitive information (e.g., passwords) before
    it knows that the server requires high security. In libpq, secure
    connections can be ensured
    by setting the <literal>sslmode</> parameter to <literal>verify-full</> or
diff --git a/doc/src/sgml/manage-ag.sgml b/doc/src/sgml/manage-ag.sgml
index 78ec509..8269438 100644
--- a/doc/src/sgml/manage-ag.sgml
+++ b/doc/src/sgml/manage-ag.sgml
@@ -387,7 +387,7 @@ dropdb <replaceable class="parameter">dbname</replaceable>
      of data files. They are dependent on metadata contained in the main
      data directory, and therefore cannot be attached to a different
      database cluster or backed up individually.  Similarly, if you lose
-     a tablespace (file deletion, disk failure, etc), the database cluster
+     a tablespace (file deletion, disk failure, etc.), the database cluster
      might become unreadable or unable to start.  Placing a tablespace
      on a temporary file system like a ramdisk risks the reliability of
      the entire cluster.
diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml
index 5e9e735..9fbfde4 100644
--- a/doc/src/sgml/monitoring.sgml
+++ b/doc/src/sgml/monitoring.sgml
@@ -204,7 +204,7 @@ postgres   27093  0.0  0.0  30096  2752 ?        Ss   11:34   0:00 postgres: ser
    When the server shuts down cleanly, a permanent copy of the statistics
    data is stored in the <filename>pg_stat</filename> subdirectory, so that
    statistics can be retained across server restarts.  When recovery is
-   performed at server start (e.g. after immediate shutdown, server crash,
+   performed at server start (e.g., after immediate shutdown, server crash,
    and point-in-time recovery), all statistics counters are reset.
   </para>
 
diff --git a/doc/src/sgml/perform.sgml b/doc/src/sgml/perform.sgml
index 94c11ad..e128f2e 100644
--- a/doc/src/sgml/perform.sgml
+++ b/doc/src/sgml/perform.sgml
@@ -1559,7 +1559,7 @@ SELECT * FROM x, y, a, b, c WHERE something AND somethingelse;
      <listitem>
       <para>
        Place the database cluster's data directory in a memory-backed
-       file system (i.e. <acronym>RAM</> disk).  This eliminates all
+       file system (i.e., <acronym>RAM</> disk).  This eliminates all
        database disk I/O, but limits data storage to the amount of
        available memory (and perhaps swap).
       </para>
diff --git a/doc/src/sgml/pgbench.sgml b/doc/src/sgml/pgbench.sgml
index b479105..a4b0d1f 100644
--- a/doc/src/sgml/pgbench.sgml
+++ b/doc/src/sgml/pgbench.sgml
@@ -554,7 +554,7 @@ pgbench <optional> <replaceable>options</> </optional> <replaceable>dbname</>
        <para>
         Remember to take the sampling rate into account when processing the
         log file. For example, when computing tps values, you need to multiply
-        the numbers accordingly (e.g. with 0.01 sample rate, you'll only get
+        the numbers accordingly (e.g., with 0.01 sample rate, you'll only get
         1/100 of the actual tps).
        </para>
       </listitem>
diff --git a/doc/src/sgml/pgupgrade.sgml b/doc/src/sgml/pgupgrade.sgml
index e1cd260..c3f4d3e 100644
--- a/doc/src/sgml/pgupgrade.sgml
+++ b/doc/src/sgml/pgupgrade.sgml
@@ -38,8 +38,8 @@
   <application>pg_upgrade</> (formerly called <application>pg_migrator</>) allows data
   stored in <productname>PostgreSQL</> data files to be upgraded to a later <productname>PostgreSQL</>
   major version without the data dump/reload typically required for
-  major version upgrades, e.g. from 8.4.7 to the current major release
-  of <productname>PostgreSQL</>.  It is not required for minor version upgrades, e.g. from
+  major version upgrades, e.g., from 8.4.7 to the current major release
+  of <productname>PostgreSQL</>.  It is not required for minor version upgrades, e.g., from
   9.0.1 to 9.0.4.
  </para>
 
@@ -57,7 +57,7 @@
 
  <para>
   <application>pg_upgrade</> does its best to
-  make sure the old and new clusters are binary-compatible, e.g.  by
+  make sure the old and new clusters are binary-compatible, e.g., by
   checking for compatible compile-time settings, including 32/64-bit
   binaries.  It is important that
   any external modules are also binary compatible, though this cannot
@@ -206,13 +206,13 @@
     <title>Optionally move the old cluster</title>
 
     <para>
-     If you are using a version-specific installation directory, e.g.
+     If you are using a version-specific installation directory, e.g.,
      <filename>/opt/PostgreSQL/9.1</>, you do not need to move the old cluster. The
      graphical installers all use version-specific installation directories.
     </para>
 
     <para>
-     If your installation directory is not version-specific, e.g.
+     If your installation directory is not version-specific, e.g.,
      <filename>/usr/local/pgsql</>, it is necessary to move the current PostgreSQL install
      directory so it does not interfere with the new <productname>PostgreSQL</> installation.
      Once the current <productname>PostgreSQL</> server is shut down, it is safe to rename the
@@ -279,9 +279,9 @@ make prefix=/usr/local/pgsql.new install
 
     <para>
      Install any custom shared object files (or DLLs) used by the old cluster
-     into the new cluster, e.g. <filename>pgcrypto.so</filename>,
+     into the new cluster, e.g., <filename>pgcrypto.so</filename>,
      whether they are from <filename>contrib</filename>
-     or some other source. Do not install the schema definitions, e.g.
+     or some other source. Do not install the schema definitions, e.g.,
      <filename>pgcrypto.sql</>, because these will be upgraded from the old cluster.
     </para>
    </step>
@@ -404,7 +404,7 @@ pg_upgrade.exe
     <para>
      If you modified <filename>pg_hba.conf</>, restore its original settings.
      It might also be necessary to adjust other configuration files in the new
-     cluster to match the old cluster, e.g. <filename>postgresql.conf</>.
+     cluster to match the old cluster, e.g., <filename>postgresql.conf</>.
     </para>
    </step>
 
@@ -456,7 +456,7 @@ psql --username postgres --file script.sql postgres
      <command>pg_upgrade</command> completes. (Automatic deletion is not
      possible if you have user-defined tablespaces inside the old data
      directory.)  You can also delete the old installation directories
-     (e.g. <filename>bin</>, <filename>share</>).
+     (e.g., <filename>bin</>, <filename>share</>).
     </para>
    </step>
 
@@ -536,7 +536,7 @@ psql --username postgres --file script.sql postgres
    If you are upgrading a pre-<productname>PostgreSQL</> 9.2 cluster
    that uses a configuration-file-only directory, you must pass the
    real data directory location to <application>pg_upgrade</>, and
-   pass the configuration directory location to the server, e.g.
+   pass the configuration directory location to the server, e.g.,
    <literal>-d /real-data-directory -o '-D /configuration-directory'</>.
   </para>
 
@@ -564,7 +564,7 @@ psql --username postgres --file script.sql postgres
    copy of the old cluster while the server is running, then shut down
    the old server and run <command>rsync</> again to update the copy with any
    changes to make it consistent.  You might want to exclude some
-   files, e.g. <filename>postmaster.pid</>, as documented in <xref
+   files, e.g., <filename>postmaster.pid</>, as documented in <xref
    linkend="backup-lowlevel-base-backup">.  If your file system supports
    file system snapshots or copy-on-write file copies, you can use that
    to make a backup of the old cluster and tablespaces, though the snapshot
diff --git a/doc/src/sgml/plperl.sgml b/doc/src/sgml/plperl.sgml
index 9117769..3259b29 100644
--- a/doc/src/sgml/plperl.sgml
+++ b/doc/src/sgml/plperl.sgml
@@ -572,7 +572,7 @@ SELECT * from lotsa_md5(500);
     <para>
     <literal>spi_prepare</literal>, <literal>spi_query_prepared</literal>, <literal>spi_exec_prepared</literal>,
     and <literal>spi_freeplan</literal> implement the same functionality but for prepared queries.
-    <literal>spi_prepare</literal> accepts a query string with numbered argument placeholders ($1, $2, etc)
+    <literal>spi_prepare</literal> accepts a query string with numbered argument placeholders ($1, $2, etc.)
     and a string list of argument types:
 <programlisting>
 $plan = spi_prepare('SELECT * FROM test WHERE id &gt; $1 AND name = $2',
@@ -617,7 +617,7 @@ SELECT done();
  2005-12-10 | 2005-12-11 | 2005-12-12
 </programlisting>
     Note that the parameter subscript in <literal>spi_prepare</literal> is defined via
-    $1, $2, $3, etc, so avoid declaring query strings in double quotes that might easily
+    $1, $2, $3, etc., so avoid declaring query strings in double quotes that might easily
     lead to hard-to-catch bugs.
     </para>
 
@@ -942,7 +942,7 @@ $$ LANGUAGE plperl;
    PL/Perl functions will share the same value of <varname>%_SHARED</varname>
    if and only if they are executed by the same SQL role.  In an application
    wherein a single session executes code under multiple SQL roles (via
-   <literal>SECURITY DEFINER</> functions, use of <command>SET ROLE</>, etc)
+   <literal>SECURITY DEFINER</> functions, use of <command>SET ROLE</>, etc.)
    you may need to take explicit steps to ensure that PL/Perl functions can
    share data via <varname>%_SHARED</varname>.  To do that, make sure that
    functions that should communicate are owned by the same user, and mark
diff --git a/doc/src/sgml/pltcl.sgml b/doc/src/sgml/pltcl.sgml
index d2175d5..9839d55 100644
--- a/doc/src/sgml/pltcl.sgml
+++ b/doc/src/sgml/pltcl.sgml
@@ -228,7 +228,7 @@ $$ LANGUAGE pltcl;
      functions will share the same global variables if and only if they are
      executed by the same SQL role.  In an application wherein a single
      session executes code under multiple SQL roles (via <literal>SECURITY
-     DEFINER</> functions, use of <command>SET ROLE</>, etc) you may need to
+     DEFINER</> functions, use of <command>SET ROLE</>, etc.) you may need to
      take explicit steps to ensure that PL/Tcl functions can share data.  To
      do that, make sure that functions that should communicate are owned by
      the same user, and mark them <literal>SECURITY DEFINER</>.  You must of
diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml
index e519ff9..8867800 100644
--- a/doc/src/sgml/protocol.sgml
+++ b/doc/src/sgml/protocol.sgml
@@ -140,7 +140,7 @@
     <firstterm>bind</> step, which creates a portal given a prepared
     statement and values for any needed parameters; and an
     <firstterm>execute</> step that runs a portal's query.  In the case of
-    a query that returns rows (<command>SELECT</>, <command>SHOW</>, etc),
+    a query that returns rows (<command>SELECT</>, <command>SHOW</>, etc.),
     the execute step can be told to fetch only
     a limited number of rows, so that multiple execute steps might be needed
     to complete the operation.
@@ -519,7 +519,7 @@
       <listitem>
        <para>
         Indicates that rows are about to be returned in response to
-        a <command>SELECT</command>, <command>FETCH</command>, etc query.
+        a <command>SELECT</command>, <command>FETCH</command>, etc. query.
         The contents of this message describe the column layout of the rows.
         This will be followed by a DataRow message for each row being returned
         to the frontend.
@@ -532,7 +532,7 @@
       <listitem>
        <para>
         One of the set of rows returned by
-        a <command>SELECT</command>, <command>FETCH</command>, etc query.
+        a <command>SELECT</command>, <command>FETCH</command>, etc. query.
        </para>
       </listitem>
      </varlistentry>
@@ -1410,7 +1410,7 @@ The commands accepted in walsender mode are:
       </term>
       <listitem>
       <para>
-       Filename of the timeline history file, e.g <filename>00000002.history</>.
+       Filename of the timeline history file, e.g., <filename>00000002.history</>.
       </para>
       </listitem>
       </varlistentry>
@@ -1476,7 +1476,7 @@ The commands accepted in walsender mode are:
       If <literal>TIMELINE</literal> option is specified,
       streaming starts on timeline <replaceable class="parameter">tli</>;
       otherwise, the server's current timeline is selected. The server can
-      reply with an error, e.g. if the requested section of WAL has already
+      reply with an error, e.g., if the requested section of WAL has already
       been recycled. On success, server responds with a CopyBothResponse
       message, and then starts to stream WAL to the frontend.
      </para>
@@ -1801,7 +1801,7 @@ The commands accepted in walsender mode are:
      <para>
       Instructs server to start streaming WAL for logical replication, starting
       at WAL position <replaceable class="parameter">XXX/XXX</>. The server can
-      reply with an error, e.g. if the requested section of WAL has already
+      reply with an error, e.g., if the requested section of WAL has already
       been recycled. On success, server responds with a CopyBothResponse
       message, and then starts to stream WAL to the frontend.
      </para>
@@ -2101,7 +2101,7 @@ This section describes the base data types used in messages.
                 order (most significant byte first).
                 If <replaceable>i</replaceable> is specified it
                 is the exact value that will appear, otherwise the value
-                is variable.  Eg. Int16, Int32(42).
+                is variable.  E.g., Int16, Int32(42).
 </para>
 </listitem>
 </varlistentry>
@@ -2116,7 +2116,7 @@ This section describes the base data types used in messages.
                 <replaceable>n</replaceable>-bit integers, each in network
                 byte order.  The array length <replaceable>k</replaceable>
                 is always determined by an earlier field in the message.
-                Eg. Int16[M].
+                E.g., Int16[M].
 </para>
 </listitem>
 </varlistentry>
@@ -2131,7 +2131,7 @@ This section describes the base data types used in messages.
                 specific length limitation on strings.
                 If <replaceable>s</replaceable> is specified it is the exact
                 value that will appear, otherwise the value is variable.
-                Eg. String, String("user").
+                E.g., String, String("user").
 </para>
 
 <note>
@@ -2156,7 +2156,7 @@ characters that don't fit into your fixed-size buffer.
                 width <replaceable>n</replaceable> is not a constant, it is
                 always determinable from an earlier field in the message.
                 If <replaceable>c</replaceable> is specified it is the exact
-                value.  Eg. Byte2, Byte1('\n').
+                value.  E.g., Byte2, Byte1('\n').
 </para>
 </listitem>
 </varlistentry>
@@ -3215,7 +3215,7 @@ CopyInResponse (B)
 <para>
                 0 indicates the overall <command>COPY</command> format is textual (rows
                 separated by newlines, columns separated by separator
-                characters, etc).
+                characters, etc.).
                 1 indicates the overall copy format is binary (similar
                 to DataRow format).
                 See <xref linkend="sql-copy">
@@ -3290,7 +3290,7 @@ CopyOutResponse (B)
 <para>
                 0 indicates the overall <command>COPY</command> format
                 is textual (rows separated by newlines, columns
-                separated by separator characters, etc). 1 indicates
+                separated by separator characters, etc.). 1 indicates
                 the overall copy format is binary (similar to DataRow
                 format). See <xref linkend="sql-copy"> for more information.
 </para>
@@ -3363,7 +3363,7 @@ CopyBothResponse (B)
 <para>
                 0 indicates the overall <command>COPY</command> format
                 is textual (rows separated by newlines, columns
-                separated by separator characters, etc). 1 indicates
+                separated by separator characters, etc.). 1 indicates
                 the overall copy format is binary (similar to DataRow
                 format). See <xref linkend="sql-copy"> for more information.
 </para>
diff --git a/doc/src/sgml/recovery-config.sgml b/doc/src/sgml/recovery-config.sgml
index 0f1ff34..05f07eb 100644
--- a/doc/src/sgml/recovery-config.sgml
+++ b/doc/src/sgml/recovery-config.sgml
@@ -170,7 +170,7 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"'  # Windows
       <listitem>
        <para>
         This parameter specifies that recovery should end as soon as a
-        consistent state is reached, i.e. as early as possible. When restoring
+        consistent state is reached, i.e., as early as possible. When restoring
         from an online backup, this means the point where taking the backup
         ended.
        </para>
diff --git a/doc/src/sgml/ref/create_database.sgml b/doc/src/sgml/ref/create_database.sgml
index 9711b1f..8b1f94a 100644
--- a/doc/src/sgml/ref/create_database.sgml
+++ b/doc/src/sgml/ref/create_database.sgml
@@ -116,7 +116,7 @@ CREATE DATABASE <replaceable class="PARAMETER">name</replaceable>
       <listitem>
        <para>
         Collation order (<literal>LC_COLLATE</>) to use in the new database.
-        This affects the sort order applied to strings, e.g. in queries with
+        This affects the sort order applied to strings, e.g., in queries with
         ORDER BY, as well as the order used in indexes on text columns.
         The default is to use the collation order of the template database.
         See below for additional restrictions.
@@ -128,7 +128,7 @@ CREATE DATABASE <replaceable class="PARAMETER">name</replaceable>
       <listitem>
        <para>
         Character classification (<literal>LC_CTYPE</>) to use in the new
-        database. This affects the categorization of characters, e.g. lower,
+        database. This affects the categorization of characters, e.g., lower,
         upper and digit. The default is to use the character classification of
         the template database. See below for additional restrictions.
        </para>
diff --git a/doc/src/sgml/ref/create_domain.sgml b/doc/src/sgml/ref/create_domain.sgml
index dd782e4..bd928aa 100644
--- a/doc/src/sgml/ref/create_domain.sgml
+++ b/doc/src/sgml/ref/create_domain.sgml
@@ -142,7 +142,7 @@ CREATE DOMAIN <replaceable class="parameter">name</replaceable> [ AS ] <replacea
         Values of this domain are normally prevented from being null.
         However, it is still possible for a domain with this constraint
         to take a null value if it is assigned a matching domain type
-        that has become null, e.g. via a LEFT OUTER JOIN, or
+        that has become null, e.g., via a LEFT OUTER JOIN, or
         <command>INSERT INTO tab (domcol) VALUES ((SELECT domcol FROM
         tab WHERE false))</command>.
        </para>
diff --git a/doc/src/sgml/ref/create_event_trigger.sgml b/doc/src/sgml/ref/create_event_trigger.sgml
index 7cdf4c7..ac68911 100644
--- a/doc/src/sgml/ref/create_event_trigger.sgml
+++ b/doc/src/sgml/ref/create_event_trigger.sgml
@@ -86,7 +86,7 @@ CREATE EVENT TRIGGER <replaceable class="PARAMETER">name</replaceable>
       A list of values for the
       associated <replaceable class="parameter">filter_variable</replaceable>
       for which the trigger should fire.  For <literal>TAG</>, this means a
-      list of command tags (e.g. <literal>'DROP FUNCTION'</>).
+      list of command tags (e.g., <literal>'DROP FUNCTION'</>).
      </para>
     </listitem>
    </varlistentry>
diff --git a/doc/src/sgml/ref/create_function.sgml b/doc/src/sgml/ref/create_function.sgml
index 2001921..f62040c 100644
--- a/doc/src/sgml/ref/create_function.sgml
+++ b/doc/src/sgml/ref/create_function.sgml
@@ -254,7 +254,7 @@ CREATE [ OR REPLACE ] FUNCTION
        The name of the language that the function is implemented in.
        It can be <literal>sql</literal>, <literal>c</literal>,
        <literal>internal</literal>, or the name of a user-defined
-       procedural language, e.g. <literal>plpgsql</literal>.  Enclosing the
+       procedural language, e.g., <literal>plpgsql</literal>.  Enclosing the
        name in single quotes is deprecated and requires matching case.
       </para>
      </listitem>
diff --git a/doc/src/sgml/ref/create_table.sgml b/doc/src/sgml/ref/create_table.sgml
index 299cce8..45c45a0 100644
--- a/doc/src/sgml/ref/create_table.sgml
+++ b/doc/src/sgml/ref/create_table.sgml
@@ -1055,7 +1055,7 @@ CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXI
     <term><literal>user_catalog_table</literal> (<type>boolean</type>)</term>
     <listitem>
      <para>
-      Declare a table as an additional catalog table, e.g. for the purpose of
+      Declare a table as an additional catalog table, e.g., for the purpose of
       logical replication. See
       <xref linkend="logicaldecoding-capabilities"> for details.
      </para>
diff --git a/doc/src/sgml/ref/grant.sgml b/doc/src/sgml/ref/grant.sgml
index f2b25e5..52e58b3 100644
--- a/doc/src/sgml/ref/grant.sgml
+++ b/doc/src/sgml/ref/grant.sgml
@@ -334,7 +334,7 @@ GRANT <replaceable class="PARAMETER">role_name</replaceable> [, ...] TO <replace
        schema (assuming that the objects' own privilege requirements are
        also met).  Essentially this allows the grantee to <quote>look up</>
        objects within the schema.  Without this permission, it is still
-       possible to see the object names, e.g. by querying the system tables.
+       possible to see the object names, e.g., by querying the system tables.
        Also, after revoking this permission, existing backends might have
        statements that have previously performed this lookup, so this is not
        a completely secure way to prevent object access.
diff --git a/doc/src/sgml/ref/initdb.sgml b/doc/src/sgml/ref/initdb.sgml
index 228edf7..3938098 100644
--- a/doc/src/sgml/ref/initdb.sgml
+++ b/doc/src/sgml/ref/initdb.sgml
@@ -80,7 +80,7 @@ PostgreSQL documentation
    <command>initdb</command> initializes the database cluster's default
    locale and character set encoding. The character set encoding,
    collation order (<literal>LC_COLLATE</>) and character set classes
-   (<literal>LC_CTYPE</>, e.g. upper, lower, digit) can be set separately
+   (<literal>LC_CTYPE</>, e.g., upper, lower, digit) can be set separately
    for a database when it is created. <command>initdb</command> determines
    those settings for the <literal>template1</literal> database, which will
    serve as the default for all other databases.
diff --git a/doc/src/sgml/ref/pg_dump.sgml b/doc/src/sgml/ref/pg_dump.sgml
index eabdc62..36ccc2f 100644
--- a/doc/src/sgml/ref/pg_dump.sgml
+++ b/doc/src/sgml/ref/pg_dump.sgml
@@ -709,7 +709,7 @@ PostgreSQL documentation
       <term><option>--if-exists</option></term>
       <listitem>
        <para>
-        Use conditional commands (i.e. add an <literal>IF EXISTS</literal>
+        Use conditional commands (i.e., add an <literal>IF EXISTS</literal>
         clause) when cleaning database objects.  This option is not valid
         unless <option>--clean</> is also specified.
        </para>
diff --git a/doc/src/sgml/ref/pg_dumpall.sgml b/doc/src/sgml/ref/pg_dumpall.sgml
index fcf5f77..7c78163 100644
--- a/doc/src/sgml/ref/pg_dumpall.sgml
+++ b/doc/src/sgml/ref/pg_dumpall.sgml
@@ -304,7 +304,7 @@ PostgreSQL documentation
       <term><option>--if-exists</option></term>
       <listitem>
        <para>
-        Use conditional commands (i.e. add an <literal>IF EXISTS</literal>
+        Use conditional commands (i.e., add an <literal>IF EXISTS</literal>
         clause) to clean databases and other objects.  This option is not valid
         unless <option>--clean</> is also specified.
        </para>
diff --git a/doc/src/sgml/ref/pg_restore.sgml b/doc/src/sgml/ref/pg_restore.sgml
index 4bc30ce..374c74f 100644
--- a/doc/src/sgml/ref/pg_restore.sgml
+++ b/doc/src/sgml/ref/pg_restore.sgml
@@ -494,7 +494,7 @@
       <term><option>--if-exists</option></term>
       <listitem>
        <para>
-        Use conditional commands (i.e. add an <literal>IF EXISTS</literal>
+        Use conditional commands (i.e., add an <literal>IF EXISTS</literal>
         clause) when cleaning database objects.  This option is not valid
         unless <option>--clean</> is also specified.
        </para>
diff --git a/doc/src/sgml/ref/postgres-ref.sgml b/doc/src/sgml/ref/postgres-ref.sgml
index 845d969..52c8b28 100644
--- a/doc/src/sgml/ref/postgres-ref.sgml
+++ b/doc/src/sgml/ref/postgres-ref.sgml
@@ -814,7 +814,7 @@ PostgreSQL documentation
 
   <para>
    To start <command>postgres</command> with a specific
-   port, e.g. 1234:
+   port, e.g., 1234:
 <screen>
 <prompt>$</prompt> <userinput>postgres -p 1234</userinput>
 </screen>
diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml
index 74d4618..f0a60d8 100644
--- a/doc/src/sgml/ref/psql-ref.sgml
+++ b/doc/src/sgml/ref/psql-ref.sgml
@@ -577,7 +577,7 @@ EOF
 
   <para>
    <application>psql</application> returns 0 to the shell if it
-   finished normally, 1 if a fatal error of its own occurs (e.g. out of memory,
+   finished normally, 1 if a fatal error of its own occurs (e.g., out of memory,
    file not found), 2 if the connection to the server went bad
    and the session was not interactive, and 3 if an error occurred in a
    script and the variable <varname>ON_ERROR_STOP</varname> was set.
@@ -2266,7 +2266,7 @@ lo_import 152801
           In <literal>latex-longtable</literal> format, this controls
           the proportional width of each column containing a left-aligned
           data type.  It is specified as a whitespace-separated list of values,
-          e.g. <literal>'0.2 0.2 0.6'</>.  Unspecified output columns
+          e.g., <literal>'0.2 0.2 0.6'</>.  Unspecified output columns
           use the last specified value.
           </para>
           </listitem>
@@ -3397,7 +3397,7 @@ testdb=&gt; \set PROMPT1 '%[%033[1;33;40m%]%n@%/%R%[%033[0m%]%# '
     <application>psql</application> starts up. Tab-completion is also
     supported, although the completion logic makes no claim to be an
     <acronym>SQL</acronym> parser.  The queries generated by tab-completion
-    can also interfere with other SQL commands, e.g. <literal>SET
+    can also interfere with other SQL commands, e.g., <literal>SET
     TRANSACTION ISOLATION LEVEL</>.
     If for some reason you do not like the tab completion, you
     can turn it off by putting this in a file named
diff --git a/doc/src/sgml/ref/values.sgml b/doc/src/sgml/ref/values.sgml
index 0fb3cd7..57ac1d4 100644
--- a/doc/src/sgml/ref/values.sgml
+++ b/doc/src/sgml/ref/values.sgml
@@ -200,7 +200,7 @@ UPDATE employees SET salary = salary * v.increase
    <command>SELECT</>.  It is not required that the <literal>AS</> clause
    specify names for all the columns, but it's good practice to do so.
    (The default column names for <command>VALUES</> are <literal>column1</>,
-   <literal>column2</>, etc in <productname>PostgreSQL</productname>, but
+   <literal>column2</>, etc. in <productname>PostgreSQL</productname>, but
    these names might be different in other database systems.)
   </para>
 
diff --git a/doc/src/sgml/release-7.4.sgml b/doc/src/sgml/release-7.4.sgml
index 5a4c52d..0c5e11d 100644
--- a/doc/src/sgml/release-7.4.sgml
+++ b/doc/src/sgml/release-7.4.sgml
@@ -605,7 +605,7 @@
     <listitem>
      <para>
       Fix <type>money</> data type to work in locales where currency
-      amounts have no fractional digits, e.g. Japan (Itagaki Takahiro)
+      amounts have no fractional digits, e.g., Japan (Itagaki Takahiro)
      </para>
     </listitem>
 
@@ -1094,7 +1094,7 @@
       subexpression hasn't got a match.  An example is
       <literal>substring('foo' from 'foo(bar)?')</>.
       This should return NULL, since <literal>(bar)</> isn't matched, but
-      it was mistakenly returning the whole-pattern match instead (ie,
+      it was mistakenly returning the whole-pattern match instead (i.e.,
       <literal>foo</>).
      </para>
     </listitem>
@@ -1207,7 +1207,7 @@
     <listitem>
      <para>
       Prevent functions in indexes from executing with the privileges of
-      the user running <command>VACUUM</>, <command>ANALYZE</>, etc (Tom)
+      the user running <command>VACUUM</>, <command>ANALYZE</>, etc. (Tom)
      </para>
 
      <para>
@@ -2159,7 +2159,7 @@ misuse</para></listitem>
 <listitem><para>Change <filename>contrib/tsearch2</> to avoid unsafe use of
 <type>INTERNAL</> function results</para></listitem>
 <listitem><para>Repair ancient race condition that allowed a transaction to be
-seen as committed for some purposes (eg SELECT FOR UPDATE) slightly sooner
+seen as committed for some purposes (e.g., SELECT FOR UPDATE) slightly sooner
 than for other purposes</para>
 <para>This is an extremely serious bug since it could lead to apparent
 data inconsistencies being briefly visible to applications.</para></listitem>
diff --git a/doc/src/sgml/release-8.0.sgml b/doc/src/sgml/release-8.0.sgml
index 299c34e..ab7a270 100644
--- a/doc/src/sgml/release-8.0.sgml
+++ b/doc/src/sgml/release-8.0.sgml
@@ -795,7 +795,7 @@
     <listitem>
      <para>
       Fix <type>money</> data type to work in locales where currency
-      amounts have no fractional digits, e.g. Japan (Itagaki Takahiro)
+      amounts have no fractional digits, e.g., Japan (Itagaki Takahiro)
      </para>
     </listitem>
 
@@ -1412,7 +1412,7 @@
       subexpression hasn't got a match.  An example is
       <literal>substring('foo' from 'foo(bar)?')</>.
       This should return NULL, since <literal>(bar)</> isn't matched, but
-      it was mistakenly returning the whole-pattern match instead (ie,
+      it was mistakenly returning the whole-pattern match instead (i.e.,
       <literal>foo</>).
      </para>
     </listitem>
@@ -1606,7 +1606,7 @@
     <listitem>
      <para>
       Prevent functions in indexes from executing with the privileges of
-      the user running <command>VACUUM</>, <command>ANALYZE</>, etc (Tom)
+      the user running <command>VACUUM</>, <command>ANALYZE</>, etc. (Tom)
      </para>
 
      <para>
@@ -2799,7 +2799,7 @@ misuse</para></listitem>
 <listitem><para>Guard against incorrect second parameter to
 <function>record_out</></para></listitem>
 <listitem><para>Repair ancient race condition that allowed a transaction to be
-seen as committed for some purposes (eg SELECT FOR UPDATE) slightly sooner
+seen as committed for some purposes (e.g., SELECT FOR UPDATE) slightly sooner
 than for other purposes</para>
 <para>This is an extremely serious bug since it could lead to apparent
 data inconsistencies being briefly visible to applications.</para></listitem>
diff --git a/doc/src/sgml/release-8.1.sgml b/doc/src/sgml/release-8.1.sgml
index 0cb5587..b7bb89f 100644
--- a/doc/src/sgml/release-8.1.sgml
+++ b/doc/src/sgml/release-8.1.sgml
@@ -1061,7 +1061,7 @@
     <listitem>
      <para>
       Fix <type>money</> data type to work in locales where currency
-      amounts have no fractional digits, e.g. Japan (Itagaki Takahiro)
+      amounts have no fractional digits, e.g., Japan (Itagaki Takahiro)
      </para>
     </listitem>
 
@@ -1851,7 +1851,7 @@
       subexpression hasn't got a match.  An example is
       <literal>substring('foo' from 'foo(bar)?')</>.
       This should return NULL, since <literal>(bar)</> isn't matched, but
-      it was mistakenly returning the whole-pattern match instead (ie,
+      it was mistakenly returning the whole-pattern match instead (i.e.,
       <literal>foo</>).
      </para>
     </listitem>
@@ -2058,7 +2058,7 @@
     <listitem>
      <para>
       Prevent functions in indexes from executing with the privileges of
-      the user running <command>VACUUM</>, <command>ANALYZE</>, etc (Tom)
+      the user running <command>VACUUM</>, <command>ANALYZE</>, etc. (Tom)
      </para>
 
      <para>
@@ -3626,7 +3626,7 @@ DISTINCT query</para></listitem>
      <para>
       Currently <productname>PostgreSQL</productname> processes a
       backslash in a string literal as introducing a special escape sequence,
-      e.g. <literal>\n</> or <literal>\010</>.
+      e.g., <literal>\n</> or <literal>\010</>.
       While this allows easy entry of special values, it is
       nonstandard and makes porting of applications from other
       databases more difficult. For this reason, the
@@ -3635,7 +3635,7 @@ DISTINCT query</para></listitem>
       backward compatibility and for users who want special backslash
       processing, a new string syntax has been created. This new string
       syntax is formed by writing an <literal>E</> immediately preceding the
-      single quote that starts the string, e.g. <literal>E'hi\n'</>. While
+      single quote that starts the string, e.g., <literal>E'hi\n'</>. While
       this release does not change the handling of backslashes in strings, it
       does add new configuration parameters to help users migrate applications
       for future releases:
diff --git a/doc/src/sgml/release-8.2.sgml b/doc/src/sgml/release-8.2.sgml
index 7f6a74b..1c972ad 100644
--- a/doc/src/sgml/release-8.2.sgml
+++ b/doc/src/sgml/release-8.2.sgml
@@ -2188,7 +2188,7 @@
     <listitem>
      <para>
       Fix <type>money</> data type to work in locales where currency
-      amounts have no fractional digits, e.g. Japan (Itagaki Takahiro)
+      amounts have no fractional digits, e.g., Japan (Itagaki Takahiro)
      </para>
     </listitem>
 
@@ -3233,7 +3233,7 @@
       subexpression hasn't got a match.  An example is
       <literal>substring('foo' from 'foo(bar)?')</>.
       This should return NULL, since <literal>(bar)</> isn't matched, but
-      it was mistakenly returning the whole-pattern match instead (ie,
+      it was mistakenly returning the whole-pattern match instead (i.e.,
       <literal>foo</>).
      </para>
     </listitem>
@@ -3600,7 +3600,7 @@
     <listitem>
      <para>
       Prevent functions in indexes from executing with the privileges of
-      the user running <command>VACUUM</>, <command>ANALYZE</>, etc (Tom)
+      the user running <command>VACUUM</>, <command>ANALYZE</>, etc. (Tom)
      </para>
 
      <para>
@@ -6032,7 +6032,7 @@
       </para>
 
       <para>
-       Intervals and times are treated as 24-hour periods, e.g.
+       Intervals and times are treated as 24-hour periods, e.g.,
        <literal>25 hours</> is considered <acronym>AM</>.
       </para>
      </listitem>
@@ -6804,7 +6804,7 @@
 
       <para>
        This is like <varname>server_version</varname>, but is an
-       integer, e.g.  <literal>80200</>. This allows applications to
+       integer, e.g., <literal>80200</>. This allows applications to
        make version checks more easily.
       </para>
      </listitem>
diff --git a/doc/src/sgml/release-8.3.sgml b/doc/src/sgml/release-8.3.sgml
index 3ce96f1..350f6d8 100644
--- a/doc/src/sgml/release-8.3.sgml
+++ b/doc/src/sgml/release-8.3.sgml
@@ -3939,7 +3939,7 @@
     <listitem>
      <para>
       Fix <type>money</> data type to work in locales where currency
-      amounts have no fractional digits, e.g. Japan (Itagaki Takahiro)
+      amounts have no fractional digits, e.g., Japan (Itagaki Takahiro)
      </para>
     </listitem>
 
@@ -5535,7 +5535,7 @@
       subexpression hasn't got a match.  An example is
       <literal>substring('foo' from 'foo(bar)?')</>.
       This should return NULL, since <literal>(bar)</> isn't matched, but
-      it was mistakenly returning the whole-pattern match instead (ie,
+      it was mistakenly returning the whole-pattern match instead (i.e.,
       <literal>foo</>).
      </para>
     </listitem>
@@ -8350,7 +8350,7 @@ current_date &lt; 2017-11-17
        Provide <function>strlcpy()</function> and
        <function>strlcat()</function> on all platforms, and replace
        error-prone uses of <function>strncpy()</function>,
-       <function>strncat()</function>, etc (Peter)
+       <function>strncat()</function>, etc. (Peter)
       </para>
      </listitem>
 
diff --git a/doc/src/sgml/release-8.4.sgml b/doc/src/sgml/release-8.4.sgml
index 0baa735..6ce0fa3 100644
--- a/doc/src/sgml/release-8.4.sgml
+++ b/doc/src/sgml/release-8.4.sgml
@@ -1259,7 +1259,7 @@
 
     <listitem>
      <para>
-      Avoid possible failure when performing transaction control commands (e.g
+      Avoid possible failure when performing transaction control commands (e.g.,
       <command>ROLLBACK</>) in prepared queries (Tom Lane)
      </para>
     </listitem>
@@ -7835,7 +7835,7 @@ WITH w AS (SELECT * FROM foo) SELECT * FROM w, bar ... FOR UPDATE
      <listitem>
       <para>
        Add support for Unicode string literal and identifier specifications
-       using code points, e.g. <literal>U&amp;'d\0061t\+000061'</>
+       using code points, e.g., <literal>U&amp;'d\0061t\+000061'</>
        (Peter)
       </para>
      </listitem>
diff --git a/doc/src/sgml/release-9.0.sgml b/doc/src/sgml/release-9.0.sgml
index 0c77d24..568ce33 100644
--- a/doc/src/sgml/release-9.0.sgml
+++ b/doc/src/sgml/release-9.0.sgml
@@ -1465,7 +1465,7 @@
 
     <listitem>
      <para>
-      Avoid possible failure when performing transaction control commands (e.g
+      Avoid possible failure when performing transaction control commands (e.g.,
       ROLLBACK) in prepared queries (Tom Lane)
      </para>
     </listitem>
@@ -7766,7 +7766,7 @@
 
       <para>
        Such triggers are fired only when the specified column(s) are affected
-       by the query, e.g. appear in an <command>UPDATE</>'s <literal>SET</>
+       by the query, e.g., appear in an <command>UPDATE</>'s <literal>SET</>
        list.
       </para>
      </listitem>
diff --git a/doc/src/sgml/release-9.1.sgml b/doc/src/sgml/release-9.1.sgml
index 4f86b64..40c021e 100644
--- a/doc/src/sgml/release-9.1.sgml
+++ b/doc/src/sgml/release-9.1.sgml
@@ -1653,7 +1653,7 @@
 
     <listitem>
      <para>
-      Avoid possible failure when performing transaction control commands (e.g
+      Avoid possible failure when performing transaction control commands (e.g.,
       <command>ROLLBACK</>) in prepared queries (Tom Lane)
      </para>
     </listitem>
@@ -2920,7 +2920,7 @@
     <listitem>
      <para>
       Improve selectivity estimation for text search queries involving
-      prefixes, i.e. <replaceable>word</><literal>:*</> patterns  (Tom Lane)
+      prefixes, i.e., <replaceable>word</><literal>:*</> patterns  (Tom Lane)
      </para>
     </listitem>
 
@@ -5857,7 +5857,7 @@
       <listitem>
        <para>
         Support host names and host suffixes
-        (e.g. <literal>.example.com</>) in <link
+        (e.g., <literal>.example.com</>) in <link
         linkend="auth-pg-hba-conf"><filename>pg_hba.conf</></link>
         (Peter Eisentraut)
        </para>
diff --git a/doc/src/sgml/release-9.2.sgml b/doc/src/sgml/release-9.2.sgml
index 911f52a..0264c8d 100644
--- a/doc/src/sgml/release-9.2.sgml
+++ b/doc/src/sgml/release-9.2.sgml
@@ -1974,7 +1974,7 @@
 
     <listitem>
      <para>
-      Avoid possible failure when performing transaction control commands (e.g
+      Avoid possible failure when performing transaction control commands (e.g.,
       <command>ROLLBACK</>) in prepared queries (Tom Lane)
      </para>
     </listitem>
@@ -3722,7 +3722,7 @@
     <listitem>
      <para>
       Improve selectivity estimation for text search queries involving
-      prefixes, i.e. <replaceable>word</><literal>:*</> patterns  (Tom Lane)
+      prefixes, i.e., <replaceable>word</><literal>:*</> patterns  (Tom Lane)
      </para>
     </listitem>
 
@@ -5969,7 +5969,7 @@
 
        <para>
         Various shell tools use zero-byte (NUL) separators,
-        e.g. <application>find</>.
+        e.g., <application>find</>.
        </para>
       </listitem>
 
diff --git a/doc/src/sgml/release-9.3.sgml b/doc/src/sgml/release-9.3.sgml
index 8788b80..3943889 100644
--- a/doc/src/sgml/release-9.3.sgml
+++ b/doc/src/sgml/release-9.3.sgml
@@ -4709,7 +4709,7 @@ ALTER EXTENSION hstore UPDATE;
       <listitem>
        <para>
         Allow text <link linkend="datatype-timezones">timezone
-        designations</link>, e.g. <quote>America/Chicago</>, in the
+        designations</link>, e.g., <quote>America/Chicago</>, in the
         <quote>T</> field of <acronym>ISO</>-format <type>timestamptz</type>
         input (Bruce Momjian)
        </para>
@@ -4800,7 +4800,7 @@ ALTER EXTENSION hstore UPDATE;
 
        <para>
         Previously the behavior was either wrong or inconsistent
-        with positive/<acronym>AD</> handling, e.g. with the format mask
+        with positive/<acronym>AD</> handling, e.g., with the format mask
         <quote>IYYY-IW-DY</>.
        </para>
       </listitem>
diff --git a/doc/src/sgml/release-9.4.sgml b/doc/src/sgml/release-9.4.sgml
index 26abce1..6280d4b 100644
--- a/doc/src/sgml/release-9.4.sgml
+++ b/doc/src/sgml/release-9.4.sgml
@@ -98,7 +98,7 @@
      <para>
       Previously, an input array string that started with a single-element
       array dimension could later contain multidimensional segments,
-      e.g. <literal>'{{1}, {2,3}}'::int[]</>.
+      e.g., <literal>'{{1}, {2,3}}'::int[]</>.
      </para>
     </listitem>
 
@@ -324,7 +324,7 @@
     <listitem>
      <para>
       Remove native support for <application>Kerberos</> authentication
-      (<option>--with-krb5</>, etc)
+      (<option>--with-krb5</>, etc.)
       (Magnus Hagander)
      </para>
 
@@ -1501,7 +1501,7 @@
 
        <para>
         These functions' names are prefixed with <literal>make_</>,
-        e.g. <link linkend="functions-datetime-table"><function>make_date()</></link>.
+        e.g., <link linkend="functions-datetime-table"><function>make_date()</></link>.
        </para>
       </listitem>
 
diff --git a/doc/src/sgml/release-old.sgml b/doc/src/sgml/release-old.sgml
index ec8e43f..ec86043 100644
--- a/doc/src/sgml/release-old.sgml
+++ b/doc/src/sgml/release-old.sgml
@@ -39,7 +39,7 @@
     <listitem>
      <para>
       Prevent functions in indexes from executing with the privileges of
-      the user running <command>VACUUM</>, <command>ANALYZE</>, etc (Tom)
+      the user running <command>VACUUM</>, <command>ANALYZE</>, etc. (Tom)
      </para>
 
      <para>
@@ -782,7 +782,7 @@ UPDATE pg_database SET datallowconn = false WHERE datname = 'template0';
 <listitem><para>Change encoding function signature to prevent
 misuse</para></listitem>
 <listitem><para>Repair ancient race condition that allowed a transaction to be
-seen as committed for some purposes (eg SELECT FOR UPDATE) slightly sooner
+seen as committed for some purposes (e.g., SELECT FOR UPDATE) slightly sooner
 than for other purposes</para>
 <para>This is an extremely serious bug since it could lead to apparent
 data inconsistencies being briefly visible to applications.</para></listitem>
@@ -2010,7 +2010,7 @@ operations on bytea columns (Joe)</para></listitem>
 
 <itemizedlist>
 <listitem><para>Repair ancient race condition that allowed a transaction to be
-seen as committed for some purposes (eg SELECT FOR UPDATE) slightly sooner
+seen as committed for some purposes (e.g., SELECT FOR UPDATE) slightly sooner
 than for other purposes</para>
 <para>This is an extremely serious bug since it could lead to apparent
 data inconsistencies being briefly visible to applications.</para></listitem>
@@ -2505,7 +2505,7 @@ since <productname>PostgreSQL</productname> 7.1.
   <para>
    The <literal>SELECT ... LIMIT #,#</literal> syntax will be removed
    in the next release. You should change your queries to use
-   separate LIMIT and OFFSET clauses, e.g. <literal>LIMIT 10 OFFSET
+   separate LIMIT and OFFSET clauses, e.g., <literal>LIMIT 10 OFFSET
    20</literal>.
   </para>
  </sect2>
@@ -2821,7 +2821,7 @@ since <productname>PostgreSQL</productname> 7.1.
    <title><application>ECPG</></title>
 <itemizedlist>
 <listitem><para>EXECUTE ... INTO implemented (Christof Petig)</para></listitem>
-<listitem><para>Multiple row descriptor support (e.g. CARDINALITY) (Christof Petig)</para></listitem>
+<listitem><para>Multiple row descriptor support (e.g., CARDINALITY) (Christof Petig)</para></listitem>
 <listitem><para>Fix for GRANT parameters (Lee Kindness)</para></listitem>
 <listitem><para>Fix INITIALLY DEFERRED bug</para></listitem>
 <listitem><para>Various bug fixes (Michael, Christof Petig)</para></listitem>
@@ -3225,7 +3225,7 @@ New PL/pgSQL EXECUTE command which allows dynamic SQL and utility statements
 New PL/pgSQL GET DIAGNOSTICS statement for SPI value access (Jan)
 New quote_identifiers() and quote_literal() functions (Jan)
 New ALTER TABLE table OWNER TO user command (Mark Hollomon)
-Allow subselects in FROM, i.e. FROM (SELECT ...) [AS] alias (Tom)
+Allow subselects in FROM, i.e., FROM (SELECT ...) [AS] alias (Tom)
 Update PyGreSQL to version 3.1 (D'Arcy)
 Store tables as files named by OID (Vadim)
 New SQL function setval(seq,val,bool) for use in pg_dump (Philip)
@@ -3793,7 +3793,7 @@ Allow SELECT .. FOR UPDATE in PL/pgSQL (Hiroshi)
 Enable backward sequential scan even after reaching EOF (Hiroshi)
 Add btree indexing of boolean values, &gt;= and &lt;= (Don Baccus)
 Print current line number when COPY FROM fails (Massimo)
-Recognize POSIX time zone e.g. "PST+8" and "GMT-8" (Thomas)
+Recognize POSIX time zone, e.g., "PST+8" and "GMT-8" (Thomas)
 Add DEC as synonym for DECIMAL (Thomas)
 Add SESSION_USER as SQL92 key word, same as CURRENT_USER (Thomas)
 Implement SQL92 column aliases (aka correlation names) (Thomas)
@@ -3860,7 +3860,7 @@ New TIME WITH TIME ZONE type (Thomas)
 Add MAX()/MIN() on time type (Thomas)
 Add abs(), mod(), fac() for int8 (Thomas)
 Rename functions to round(), sqrt(), cbrt(), pow() for float8 (Thomas)
-Add transcendental math functions (e.g. sin(), acos()) for float8 (Thomas)
+Add transcendental math functions (e.g., sin(), acos()) for float8 (Thomas)
 Add exp() and ln() for NUMERIC type
 Rename NUMERIC power() to pow() (Thomas)
 Improved TRANSLATE() function (Edwin Ramirez, Tom)
@@ -4282,7 +4282,7 @@ Add Win1250 (Czech) support (Pavel Behal)
      isolation level, data read by one transaction can be overwritten by
      another. In other words, if a row is returned by
      <command>SELECT</command> it doesn't mean that this row really exists
-     at the time it is returned (i.e. sometime after the statement or
+     at the time it is returned (i.e., sometime after the statement or
      transaction began) nor that the row is protected from being deleted or
      updated by concurrent transactions before the current transaction does
      a commit or rollback.
@@ -4738,7 +4738,7 @@ Define "tz_hour" and "tz_minute" arguments to date_part()(Thomas)
 Add routines to convert between varchar and bpchar(Thomas)
 Add routines to allow sizing of varchar and bpchar into target columns(Thomas)
 Add bit flags to support timezonehour and minute in data retrieval(Thomas)
-Allow more variations on valid floating point numbers (e.g. ".1", "1e6")(Thomas)
+Allow more variations on valid floating point numbers (e.g., ".1", "1e6")(Thomas)
 Fixes for unary minus parsing with leading spaces(Thomas)
 Implement TIMEZONE_HOUR, TIMEZONE_MINUTE per SQL92 specs(Thomas)
 Check for and properly ignore FOREIGN KEY column constraints(Thomas)
@@ -5243,11 +5243,11 @@ Allow NOT NULL UNIQUE constraint clause (each allowed separately before)(Thomas)
 Allow PostgreSQL-style casting ("::") of non-constants(Thomas)
 Add support for SQL3 TRUE and FALSE boolean constants(Thomas)
 Support SQL92 syntax for IS TRUE/IS FALSE/IS NOT TRUE/IS NOT FALSE(Thomas)
-Allow shorter strings for boolean literals (e.g. "t", "tr", "tru")(Thomas)
+Allow shorter strings for boolean literals (e.g., "t", "tr", "tru")(Thomas)
 Allow SQL92 delimited identifiers(Thomas)
 Implement SQL92 binary and hexadecimal string decoding (b'10' and x'1F')(Thomas)
 Support SQL92 syntax for type coercion of literal strings
-       (e.g. "DATETIME 'now'")(Thomas)
+       (e.g., "DATETIME 'now'")(Thomas)
 Add conversions for int2, int4, and OID types to and from text(Thomas)
 Use shared lock when building indexes(Vadim)
 Free memory allocated for a user query inside transaction block after
@@ -5277,7 +5277,7 @@ Increase 16 char limit on system table/index names to 32 characters(Bruce)
 Rename system indexes(Bruce)
 Add 'GERMAN' option to SET DATESTYLE(Thomas)
 Define an "ISO-style" timespan output format with "hh:mm:ss" fields(Thomas)
-Allow fractional values for delta times (e.g. '2.5 days')(Thomas)
+Allow fractional values for delta times (e.g., '2.5 days')(Thomas)
 Validate numeric input more carefully for delta times(Thomas)
 Implement day of year as possible input to date_part()(Thomas)
 Define timespan_finite() and text_timespan() functions(Thomas)
@@ -5670,7 +5670,7 @@ optimizer which uses <firstterm>genetic</firstterm>
  tables (giving the optimizer a choice on order of evaluation). Several
  regression tests have been modified to explicitly order the results, and
  hence are insensitive to optimizer choices. A few regression tests are
- for data types which are inherently unordered (e.g. points and time
+ for data types which are inherently unordered (e.g., points and time
  intervals) and tests involving those types are explicitly bracketed with
  <command>set geqo to 'off'</command> and <command>reset geqo</command>.
 </para>
@@ -6387,10 +6387,10 @@ Incompatible changes:
    (due to system catalog changes and indexing structure changes).
  * double-quote (") is deprecated as a quoting character for string literals;
    you need to convert them to single quotes ('). <!-- " -->
- * name of aggregates (eg. int4sum) are renamed in accordance with the
-   SQL standard (eg. sum).
+ * name of aggregates (e.g., int4sum) are renamed in accordance with the
+   SQL standard (e.g., sum).
  * CHANGE ACL syntax is replaced by GRANT/REVOKE syntax.
- * float literals (eg. 3.14) are now of type float4 (instead of float8 in
+ * float literals (e.g., 3.14) are now of type float4 (instead of float8 in
    previous releases); you might have to do typecasting if you depend on it
    being of type float8.  If you neglect to do the typecasting and you assign
    a float literal to a field of type float8, you might get incorrect values
@@ -6416,7 +6416,7 @@ more compliant to the SQL-92 standard):
  * single-quote (') is used for quoting string literals; '' (in addition to
    \') is supported as means of inserting a single quote in a string
  * SQL standard aggregate names (MAX, MIN, AVG, SUM, COUNT) are used
-   (Also, aggregates can now be overloaded, i.e. you can define your
+   (Also, aggregates can now be overloaded, i.e., you can define your
    own MAX aggregate to take in a user-defined type.)
  * CHANGE ACL removed. GRANT/REVOKE syntax added.
    - Privileges can be given to a group using the "GROUP" key word.
@@ -6449,7 +6449,7 @@ Bug fixes:
 
 Other changes and enhancements:
  * addition of an EXPLAIN statement used for explaining the query execution
-   plan (eg. "EXPLAIN SELECT * FROM EMP" prints out the execution plan for
+   plan (e.g., "EXPLAIN SELECT * FROM EMP" prints out the execution plan for
    the query).
  * WARN and NOTICE messages no longer have timestamps on them. To turn on
    timestamps of error messages, uncomment the line in
diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml
index f337485..18e52e5 100644
--- a/doc/src/sgml/runtime.sgml
+++ b/doc/src/sgml/runtime.sgml
@@ -1766,7 +1766,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433
     be migrated in-place from one major <productname>PostgreSQL</>
     version to another.  Upgrades can be performed in minutes,
     particularly with <option>--link</> mode.  It requires steps similar to
-    <application>pg_dumpall</> above, e.g.  starting/stopping the server,
+    <application>pg_dumpall</> above, e.g., starting/stopping the server,
     running <application>initdb</>.  The <application>pg_upgrade</> <link
     linkend="pgupgrade">documentation</> outlines the necessary steps.
    </para>
@@ -2070,7 +2070,7 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433
    certificate of the signing authority to the <filename>server.crt</> file,
    then its parent authority's certificate, and so on up to a certificate
    authority, <quote>root</> or <quote>intermediate</>, that is trusted by
-   clients, i.e. signed by a certificate in the clients'
+   clients, i.e., signed by a certificate in the clients'
    <filename>root.crt</filename> files.
   </para>
 
diff --git a/doc/src/sgml/sepgsql.sgml b/doc/src/sgml/sepgsql.sgml
index 6889e42..48c9b27 100644
--- a/doc/src/sgml/sepgsql.sgml
+++ b/doc/src/sgml/sepgsql.sgml
@@ -527,7 +527,7 @@ UPDATE t1 SET x = 2, y = md5sum(y) WHERE z = 100;
     commands. <productname>SELinux</> provides a feature to allow trusted
     code to run using a security label different from that of the client,
     generally for the purpose of providing highly controlled access to
-    sensitive data (e.g. rows might be omitted, or the precision of stored
+    sensitive data (e.g., rows might be omitted, or the precision of stored
     values might be reduced).  Whether or not a function acts as a trusted
     procedure is controlled by its security label and the operating system
     security policy.  For example:
diff --git a/doc/src/sgml/sources.sgml b/doc/src/sgml/sources.sgml
index aa20807..a66ad72 100644
--- a/doc/src/sgml/sources.sgml
+++ b/doc/src/sgml/sources.sgml
@@ -13,9 +13,9 @@
    </para>
 
    <para>
-    Layout rules (brace positioning, etc) follow BSD conventions.  In
+    Layout rules (brace positioning, etc.) follow BSD conventions.  In
     particular, curly braces for the controlled blocks of <literal>if</>,
-    <literal>while</>, <literal>switch</>, etc go on their own lines.
+    <literal>while</>, <literal>switch</>, etc. go on their own lines.
    </para>
 
    <para>
diff --git a/doc/src/sgml/sslinfo.sgml b/doc/src/sgml/sslinfo.sgml
index 22ef439..a0719af 100644
--- a/doc/src/sgml/sslinfo.sgml
+++ b/doc/src/sgml/sslinfo.sgml
@@ -47,7 +47,7 @@
     </term>
     <listitem>
     <para>
-     Returns the name of the protocol used for the SSL connection (e.g. SSLv2,
+     Returns the name of the protocol used for the SSL connection (e.g., SSLv2,
      SSLv3, or TLSv1).
     </para>
     </listitem>
@@ -63,7 +63,7 @@
     <listitem>
     <para>
      Returns the name of the cipher used for the SSL connection
-     (e.g. DHE-RSA-AES256-SHA).
+     (e.g., DHE-RSA-AES256-SHA).
     </para>
     </listitem>
    </varlistentry>
diff --git a/doc/src/sgml/syntax.sgml b/doc/src/sgml/syntax.sgml
index 434a894..f377d5c 100644
--- a/doc/src/sgml/syntax.sgml
+++ b/doc/src/sgml/syntax.sgml
@@ -1065,7 +1065,7 @@ SELECT (5 !) - 6;
       <row>
        <entry><token>IS</token></entry>
        <entry></entry>
-       <entry><literal>IS TRUE</>, <literal>IS FALSE</>, <literal>IS NULL</>, etc</entry>
+       <entry><literal>IS TRUE</>, <literal>IS FALSE</>, <literal>IS NULL</>, etc.</entry>
       </row>
 
       <row>
diff --git a/doc/src/sgml/tsearch2.sgml b/doc/src/sgml/tsearch2.sgml
index 192eccd..f0a7850 100644
--- a/doc/src/sgml/tsearch2.sgml
+++ b/doc/src/sgml/tsearch2.sgml
@@ -162,7 +162,7 @@
      Load the dump data.  There will be quite a few errors reported
      due to failure to recreate the original <application>tsearch2</>
      objects.  These errors can be ignored, but this means you cannot
-     restore the dump in a single transaction (eg, you cannot use
+     restore the dump in a single transaction (e.g., you cannot use
      <application>pg_restore</>'s <option>-1</> switch).
     </para>
    </step>
diff --git a/doc/src/sgml/wal.sgml b/doc/src/sgml/wal.sgml
index c722532..35f2780 100644
--- a/doc/src/sgml/wal.sgml
+++ b/doc/src/sgml/wal.sgml
@@ -266,7 +266,7 @@
      overhead can reduce performance, especially if journaling
      causes file system <emphasis>data</emphasis> to be flushed
      to disk.  Fortunately, data flushing during journaling can
-     often be disabled with a file system mount option, e.g.
+     often be disabled with a file system mount option, e.g.,
      <literal>data=writeback</> on a Linux ext3 file system.
      Journaled file systems do improve boot speed after a crash.
     </para>
diff --git a/doc/src/sgml/xfunc.sgml b/doc/src/sgml/xfunc.sgml
index d759f37..af8a55c 100644
--- a/doc/src/sgml/xfunc.sgml
+++ b/doc/src/sgml/xfunc.sgml
@@ -116,9 +116,9 @@
      Besides <command>SELECT</command> queries, the commands can include data
      modification queries (<command>INSERT</command>,
      <command>UPDATE</command>, and <command>DELETE</command>), as well as
-     other SQL commands. (You cannot use transaction control commands, e.g.
+     other SQL commands. (You cannot use transaction control commands, e.g.,
      <command>COMMIT</>, <command>SAVEPOINT</>, and some utility
-     commands, e.g.  <literal>VACUUM</>, in <acronym>SQL</acronym> functions.)
+     commands, e.g., <literal>VACUUM</>, in <acronym>SQL</acronym> functions.)
      However, the final command
      must be a <command>SELECT</command> or have a <literal>RETURNING</>
      clause that returns whatever is
@@ -3376,7 +3376,7 @@ if (!ptr)
         exceptions.  Any exceptions must be caught and appropriate errors
         passed back to the C interface.  If possible, compile C++ with
         <option>-fno-exceptions</> to eliminate exceptions entirely; in such
-        cases, you must check for failures in your C++ code, e.g.  check for
+        cases, you must check for failures in your C++ code, e.g., check for
         NULL returned by <function>new()</>.
        </para>
       </listitem>
diff --git a/doc/src/sgml/xml2.sgml b/doc/src/sgml/xml2.sgml
index c4b85bf..9b5d321 100644
--- a/doc/src/sgml/xml2.sgml
+++ b/doc/src/sgml/xml2.sgml
@@ -327,8 +327,8 @@ AS t(article_id integer, author text, page_count integer, title text);
    The calling <command>SELECT</> statement doesn't necessarily have be
    just <literal>SELECT *</> &mdash; it can reference the output
    columns by name or join them to other tables. The function produces a
-   virtual table with which you can perform any operation you wish (e.g.
-   aggregation, joining, sorting etc). So we could also have:
+   virtual table with which you can perform any operation you wish (e.g.,
+   aggregation, joining, sorting etc.). So we could also have:
 <programlisting>
 SELECT t.title, p.fullname, p.email
 FROM xpath_table('article_id', 'article_xml', 'articles',
-- 
2.1.0

