diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml
index 98b69380b6..ad5e9b95b4 100644
--- a/doc/src/sgml/libpq.sgml
+++ b/doc/src/sgml/libpq.sgml
@@ -892,8 +892,8 @@ postgresql://%2Fvar%2Flib%2Fpostgresql/dbname
      <title>Specifying Multiple Hosts</title>
 
      <para>
-       It is possible to specify multiple hosts to connect to, so that they are 
-       tried in the given order. In the Keyword/Value format, the <literal>host</>, 
+       It is possible to specify multiple hosts to connect to, so that they are
+       tried in the given order. In the Keyword/Value format, the <literal>host</>,
        <literal>hostaddr</>, and <literal>port</> options accept a comma-separated
        list of values. The same number of elements must be given in each option, such
        that e.g. the first <literal>hostaddr</> corresponds to the first host name,
@@ -903,24 +903,24 @@ postgresql://%2Fvar%2Flib%2Fpostgresql/dbname
      </para>
 
      <para>
-       In the connection URI format, you can list multiple <literal>host:port</> pairs 
+       In the connection URI format, you can list multiple <literal>host:port</> pairs
        separated by commas, in the <literal>host</> component of the URI. In either
        format, a single hostname can also translate to multiple network addresses. A
        common example of this is a host that has both an IPv4 and an IPv6 address.
      </para>
 
      <para>
-       When multiple hosts are specified, or when a single hostname is 
-       translated to multiple addresses,  all the hosts and addresses will be 
-       tried in order, until one succeeds. If none of the hosts can be reached, 
-       the connection fails. If a connection is established successfully, but 
+       When multiple hosts are specified, or when a single hostname is
+       translated to multiple addresses,  all the hosts and addresses will be
+       tried in order, until one succeeds. If none of the hosts can be reached,
+       the connection fails. If a connection is established successfully, but
        authentication fails, the remaining hosts in the list are not tried.
      </para>
 
      <para>
-       If a password file is used, you can have different passwords for 
-       different hosts. All the other connection options are the same for every 
-       host, it is not possible to e.g. specify a different username for 
+       If a password file is used, you can have different passwords for
+       different hosts. All the other connection options are the same for every
+       host, it is not possible to e.g. specify a different username for
        different hosts.
      </para>
    </sect3>
@@ -1844,17 +1844,36 @@ int PQprotocolVersion(const PGconn *conn);
 
      <listitem>
       <para>
-       Returns an integer representing the backend version.
+       Returns an integer representing the server version.
 <synopsis>
 int PQserverVersion(const PGconn *conn);
 </synopsis>
-       Applications might use this function to determine the version of the database
-       server they are connected to. The number is formed by converting
-       the major, minor, and revision numbers into two-decimal-digit
-       numbers and appending them together. For example, version 8.1.5
-       will be returned as 80105, and version 8.2 will be returned as
-       80200 (leading zeroes are not shown).  Zero is returned if the
-       connection is bad.
+      </para>
+
+      <para>
+       Applications might use this function to determine the version of the
+       database server they are connected to.  The result is formed by
+       multiplying the server's major version number by 10000 and adding
+       the minor version number.  For example, version 10.1 will be
+       returned as 100001, and version 11.0 will be returned as 110000.
+       Zero is returned if the connection is bad.
+      </para>
+
+      <para>
+       Prior to major version 10, <productname>PostgreSQL</> used
+       three-part version numbers in which the first two parts together
+       represented the major version.  For those
+       versions, <function>PQserverVersion</> uses two digits for each
+       part; for example version 9.1.5 will be returned as 90105, and
+       version 9.2.0 will be returned as 90200.
+      </para>
+
+      <para>
+       Therefore, for purposes of determining feature compatibility,
+       applications should divide the result of <function>PQserverVersion</>
+       by 100 not 10000 to determine a logical major version number.
+       In all release series, only the last two digits differ between
+       minor releases (bug-fix releases).
       </para>
      </listitem>
     </varlistentry>
@@ -6224,26 +6243,42 @@ int PQlibVersion(void);
 
      <para>
       The result of this function can be used to determine, at
-      run time, if specific functionality is available in the currently
+      run time, whether specific functionality is available in the currently
       loaded version of libpq. The function can be used, for example,
-      to determine which connection options are available for
-      <function>PQconnectdb</> or if the <literal>hex</> <type>bytea</>
-      output added in PostgreSQL 9.0 is supported.
+      to determine which connection options are available in
+      <function>PQconnectdb</>.
      </para>
 
      <para>
-      The number is formed by converting the major, minor, and revision
-      numbers into two-decimal-digit numbers and appending them together.
-      For example, version 9.1 will be returned as 90100, and version
-      9.1.2 will be returned as 90102 (leading zeroes are not shown).
+      The result is formed by multiplying the library's major version
+      number by 10000 and adding the minor version number.  For example,
+      version 10.1 will be returned as 100001, and version 11.0 will be
+      returned as 110000.
+     </para>
+
+     <para>
+      Prior to major version 10, <productname>PostgreSQL</> used
+      three-part version numbers in which the first two parts together
+      represented the major version.  For those
+      versions, <function>PQlibVersion</> uses two digits for each
+      part; for example version 9.1.5 will be returned as 90105, and
+      version 9.2.0 will be returned as 90200.
+     </para>
+
+     <para>
+      Therefore, for purposes of determining feature compatibility,
+      applications should divide the result of <function>PQlibVersion</>
+      by 100 not 10000 to determine a logical major version number.
+      In all release series, only the last two digits differ between
+      minor releases (bug-fix releases).
      </para>
 
      <note>
       <para>
        This function appeared in <productname>PostgreSQL</> version 9.1, so
        it cannot be used to detect required functionality in earlier
-       versions, since linking to it will create a link dependency
-       on version 9.1.
+       versions, since calling it will create a link dependency
+       on version 9.1 or later.
       </para>
      </note>
     </listitem>