diff options
Diffstat (limited to 'doc/src/sgml')
66 files changed, 281 insertions, 242 deletions
diff --git a/doc/src/sgml/README.links b/doc/src/sgml/README.links index 8608859eac..2668b00d7f 100644 --- a/doc/src/sgml/README.links +++ b/doc/src/sgml/README.links @@ -7,8 +7,8 @@ Intra-document Linking ---------------------- <xref> - use to get link text from the title of the target link; has no - close tag + use to get chapter/section # from the title of the target + link, or xreflabel if defined at the target; has no close tag http://www.oasis-open.org/docbook/documentation/reference/html/xref.html <link> @@ -28,7 +28,8 @@ External Linking <ulink> like <link>, but uses a URL (not a document target); requires - </ulink>; if no text is specified, the URL appears as the link text + </ulink>; if no text is specified, the URL appears as the link + text http://www.oasis-open.org/docbook/documentation/reference/html/ulink.html url= @@ -40,4 +41,5 @@ Guidelines o If you want to supply text, use <link>, else <xref> o Do not use text with <ulink> so the URL appears in printed output -o You can supply text at the target location with 'xreflabel' +o Specific nouns like GUC variables, SQL commands, and contrib modules + usually have xreflabels diff --git a/doc/src/sgml/adminpack.sgml b/doc/src/sgml/adminpack.sgml index 27d0034329..9b72f34ead 100644 --- a/doc/src/sgml/adminpack.sgml +++ b/doc/src/sgml/adminpack.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/adminpack.sgml --> -<sect1 id="adminpack"> +<sect1 id="adminpack" xreflabel="adminpack"> <title>adminpack</title> <indexterm zone="adminpack"> diff --git a/doc/src/sgml/auth-delay.sgml b/doc/src/sgml/auth-delay.sgml index 9f1f3f645a..b91a7ecda7 100644 --- a/doc/src/sgml/auth-delay.sgml +++ b/doc/src/sgml/auth-delay.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/auth-delay.sgml --> -<sect1 id="auth-delay"> +<sect1 id="auth-delay" xreflabel="auth_delay"> <title>auth_delay</title> <indexterm zone="auth-delay"> diff --git a/doc/src/sgml/auto-explain.sgml b/doc/src/sgml/auto-explain.sgml index 405e3f72b4..b16f9064ff 100644 --- a/doc/src/sgml/auto-explain.sgml +++ b/doc/src/sgml/auto-explain.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/auto-explain.sgml --> -<sect1 id="auto-explain"> +<sect1 id="auto-explain" xreflabel="auto_explain"> <title>auto_explain</title> <indexterm zone="auto-explain"> diff --git a/doc/src/sgml/backup.sgml b/doc/src/sgml/backup.sgml index 0fbf1225aa..2a1c2939e2 100644 --- a/doc/src/sgml/backup.sgml +++ b/doc/src/sgml/backup.sgml @@ -401,7 +401,7 @@ tar -cf backup.tar /usr/local/pgsql/data <para> If simultaneous snapshots are not possible, one option is to shut down the database server long enough to establish all the frozen snapshots. - Another option is perform a continuous archiving base backup (<xref + Another option is to perform a continuous archiving base backup (<xref linkend="backup-base-backup">) because such backups are immune to file system changes during the backup. This requires enabling continuous archiving just during the backup process; restore is done using diff --git a/doc/src/sgml/btree-gin.sgml b/doc/src/sgml/btree-gin.sgml index 632bd1e53a..42b9e97b72 100644 --- a/doc/src/sgml/btree-gin.sgml +++ b/doc/src/sgml/btree-gin.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/btree-gin.sgml --> -<sect1 id="btree-gin"> +<sect1 id="btree-gin" xreflabel="btree_gin"> <title>btree_gin</title> <indexterm zone="btree-gin"> diff --git a/doc/src/sgml/btree-gist.sgml b/doc/src/sgml/btree-gist.sgml index af3f707bb9..e52971f3d9 100644 --- a/doc/src/sgml/btree-gist.sgml +++ b/doc/src/sgml/btree-gist.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/btree-gist.sgml --> -<sect1 id="btree-gist"> +<sect1 id="btree-gist" xreflabel="btree_gist"> <title>btree_gist</title> <indexterm zone="btree-gist"> diff --git a/doc/src/sgml/chkpass.sgml b/doc/src/sgml/chkpass.sgml index b9b3c08c25..9f682d8981 100644 --- a/doc/src/sgml/chkpass.sgml +++ b/doc/src/sgml/chkpass.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/chkpass.sgml --> -<sect1 id="chkpass"> +<sect1 id="chkpass" xreflabel="chkpass"> <title>chkpass</title> <indexterm zone="chkpass"> diff --git a/doc/src/sgml/citext.sgml b/doc/src/sgml/citext.sgml index 68a2aa4cd3..8cbde88a3e 100644 --- a/doc/src/sgml/citext.sgml +++ b/doc/src/sgml/citext.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/citext.sgml --> -<sect1 id="citext"> +<sect1 id="citext" xreflabel="citext"> <title>citext</title> <indexterm zone="citext"> diff --git a/doc/src/sgml/client-auth.sgml b/doc/src/sgml/client-auth.sgml index afbd9feb37..cb577e6112 100644 --- a/doc/src/sgml/client-auth.sgml +++ b/doc/src/sgml/client-auth.sgml @@ -889,7 +889,7 @@ omicron bryanh guest1 each database user is stored in the <literal>pg_authid</> system catalog. Passwords can be managed with the SQL commands <xref linkend="sql-createuser"> and - <xref linkend="sql-alteruser">, + <xref linkend="sql-alterrole">, e.g., <userinput>CREATE USER foo WITH PASSWORD 'secret'</userinput>. If no password has been set up for a user, the stored password is null and password authentication will always fail for that user. diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml index e9de964a65..5d37065626 100644 --- a/doc/src/sgml/config.sgml +++ b/doc/src/sgml/config.sgml @@ -135,7 +135,7 @@ env PGOPTIONS='-c geqo=off' psql Furthermore, it is possible to assign a set of parameter settings to a user or a database. Whenever a session is started, the default settings for the user and database involved are loaded. The - commands <xref linkend="sql-alteruser"> + commands <xref linkend="sql-alterrole"> and <xref linkend="sql-alterdatabase">, respectively, are used to configure these settings. Per-database settings override anything received from the @@ -705,7 +705,7 @@ SET ENABLE_SEQSCAN TO OFF; <para> When a password is specified in <xref linkend="sql-createuser"> or - <xref linkend="sql-alteruser"> + <xref linkend="sql-alterrole"> without writing either <literal>ENCRYPTED</> or <literal>UNENCRYPTED</>, this parameter determines whether the password is to be encrypted. The default is <literal>on</> @@ -3869,11 +3869,11 @@ FROM pg_stat_activity; </indexterm> <listitem> <para> - Sets the time zone used for timestamps written in the log. + Sets the time zone used for timestamps written in the server log. Unlike <xref linkend="guc-timezone">, this value is cluster-wide, so that all sessions will report timestamps consistently. - The default is <literal>unknown</>, which means use whatever - the system environment specifies as the time zone. See <xref + If not explicitly set, the server initializes this variable to the + time zone specified by its system environment. See <xref linkend="datatype-timezones"> for more information. This parameter can only be set in the <filename>postgresql.conf</> file or on the server command line. @@ -4918,10 +4918,9 @@ SET XML OPTION { DOCUMENT | CONTENT }; <listitem> <para> Sets the time zone for displaying and interpreting time stamps. - The default is <literal>unknown</>, which means to use whatever - the system environment specifies as the time zone. See <xref - linkend="datatype-timezones"> for more - information. + If not explicitly set, the server initializes this variable to the + time zone specified by its system environment. See <xref + linkend="datatype-timezones"> for more information. </para> </listitem> </varlistentry> @@ -5205,7 +5204,7 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir' libraries to be loaded into specific sessions without an explicit <command>LOAD</> command being given. For example, debugging could be enabled for all sessions under a given user name by setting - this parameter with <command>ALTER USER SET</>. + this parameter with <command>ALTER ROLE SET</>. </para> <para> diff --git a/doc/src/sgml/contrib-spi.sgml b/doc/src/sgml/contrib-spi.sgml index 55e5ce2649..3287c18d27 100644 --- a/doc/src/sgml/contrib-spi.sgml +++ b/doc/src/sgml/contrib-spi.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/contrib-spi.sgml --> -<sect1 id="contrib-spi"> +<sect1 id="contrib-spi" xreflabel="spi"> <title>spi</title> <indexterm zone="contrib-spi"> diff --git a/doc/src/sgml/cube.sgml b/doc/src/sgml/cube.sgml index 0fcbf21be6..e2da68556d 100644 --- a/doc/src/sgml/cube.sgml +++ b/doc/src/sgml/cube.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/cube.sgml --> -<sect1 id="cube"> +<sect1 id="cube" xreflabel="cube"> <title>cube</title> <indexterm zone="cube"> diff --git a/doc/src/sgml/datatype.sgml b/doc/src/sgml/datatype.sgml index bc1ec3f821..ab8eb2d30b 100644 --- a/doc/src/sgml/datatype.sgml +++ b/doc/src/sgml/datatype.sgml @@ -2784,9 +2784,9 @@ P <optional> <replaceable>years</>-<replaceable>months</>-<replaceable>days</> < <productname>PostgreSQL</productname> provides the standard <acronym>SQL</acronym> type <type>boolean</type>; see <xref linkend="datatype-boolean-table">. - The <type>boolean</type> type can have one of only two states: - <quote>true</quote> or <quote>false</quote>. A third state, - <quote>unknown</quote>, is represented by the + The <type>boolean</type> type can have several states: + <quote>true</quote>, <quote>false</quote>, and a third state, + <quote>unknown</quote>, which is represented by the <acronym>SQL</acronym> null value. </para> diff --git a/doc/src/sgml/dblink.sgml b/doc/src/sgml/dblink.sgml index 295544e54e..22551402e3 100644 --- a/doc/src/sgml/dblink.sgml +++ b/doc/src/sgml/dblink.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/dblink.sgml --> -<sect1 id="dblink"> +<sect1 id="dblink" xreflabel="dblink"> <title>dblink</title> <indexterm zone="dblink"> diff --git a/doc/src/sgml/dict-int.sgml b/doc/src/sgml/dict-int.sgml index 17f98c05fa..d49f3e2a3a 100644 --- a/doc/src/sgml/dict-int.sgml +++ b/doc/src/sgml/dict-int.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/dict-int.sgml --> -<sect1 id="dict-int"> +<sect1 id="dict-int" xreflabel="dict_int"> <title>dict_int</title> <indexterm zone="dict-int"> diff --git a/doc/src/sgml/dict-xsyn.sgml b/doc/src/sgml/dict-xsyn.sgml index 23c5d983c1..42362ffbc8 100644 --- a/doc/src/sgml/dict-xsyn.sgml +++ b/doc/src/sgml/dict-xsyn.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/dict-xsyn.sgml --> -<sect1 id="dict-xsyn"> +<sect1 id="dict-xsyn" xreflabel="dict_xsyn"> <title>dict_xsyn</title> <indexterm zone="dict-xsyn"> diff --git a/doc/src/sgml/dummy-seclabel.sgml b/doc/src/sgml/dummy-seclabel.sgml index 30d58198fb..28d19d2409 100644 --- a/doc/src/sgml/dummy-seclabel.sgml +++ b/doc/src/sgml/dummy-seclabel.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/dummy_seclabel.sgml --> -<sect1 id="dummy-seclabel"> +<sect1 id="dummy-seclabel" xreflabel="dummy_seclabel"> <title>dummy_seclabel</title> <indexterm zone="dummy-seclabel"> diff --git a/doc/src/sgml/earthdistance.sgml b/doc/src/sgml/earthdistance.sgml index 5b50da0510..f9002b235b 100644 --- a/doc/src/sgml/earthdistance.sgml +++ b/doc/src/sgml/earthdistance.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/earthdistance.sgml --> -<sect1 id="earthdistance"> +<sect1 id="earthdistance" xreflabel="earthdistance"> <title>earthdistance</title> <indexterm zone="earthdistance"> @@ -55,7 +55,8 @@ </para> <para> - The following functions are provided: + The provided functions are shown + in <xref linkend="earthdistance-cube-functions">. </para> <table id="earthdistance-cube-functions"> @@ -148,7 +149,8 @@ </para> <para> - A single operator is provided: + A single operator is provided, shown + in <xref linkend="earthdistance-point-operators">. </para> <table id="earthdistance-point-operators"> diff --git a/doc/src/sgml/file-fdw.sgml b/doc/src/sgml/file-fdw.sgml index 003c415b43..e6ccdada2c 100644 --- a/doc/src/sgml/file-fdw.sgml +++ b/doc/src/sgml/file-fdw.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/file-fdw.sgml --> -<sect1 id="file-fdw"> +<sect1 id="file-fdw" xreflabel="file_fdw"> <title>file_fdw</title> <indexterm zone="file-fdw"> diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index 633f21583e..c1a34fb169 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -82,8 +82,9 @@ <member><literal>NOT</></member> </simplelist> - <acronym>SQL</acronym> uses a three-valued Boolean logic where the null value represents - <quote>unknown</quote>. Observe the following truth tables: + <acronym>SQL</acronym> uses a three-valued logic system with true, + false, and <literal>null</>, which represents <quote>unknown</quote>. + Observe the following truth tables: <informaltable> <tgroup cols="4"> @@ -8717,7 +8718,7 @@ CREATE TYPE rainbow AS ENUM ('red', 'orange', 'yellow', 'green', 'blue', 'purple with <command>configure --with-libxml</>. </para> - <sect2> + <sect2 id="functions-producing-xml"> <title>Producing XML Content</title> <para> @@ -9093,7 +9094,7 @@ SELECT xmlagg(x) FROM (SELECT * FROM test ORDER BY y DESC) AS tab; </sect3> </sect2> - <sect2> + <sect2 id="functions-xml-predicates"> <title>XML Predicates</title> <para> @@ -9854,7 +9855,7 @@ SELECT setval('foo', 42, false); <lineannotation>Next <function>nextval</> wi </para> </tip> - <sect2> + <sect2 id="functions-case"> <title><literal>CASE</></title> <para> @@ -9966,7 +9967,7 @@ SELECT ... WHERE CASE WHEN x <> 0 THEN y/x > 1.5 ELSE false END; </para> </sect2> - <sect2> + <sect2 id="functions-coalesce-nvl-ifnull"> <title><literal>COALESCE</></title> <indexterm> @@ -10005,7 +10006,7 @@ SELECT COALESCE(description, short_description, '(none)') ... </para> </sect2> - <sect2> + <sect2 id="functions-nullif"> <title><literal>NULLIF</></title> <indexterm> @@ -10034,7 +10035,7 @@ SELECT NULLIF(value, '(none)') ... </sect2> - <sect2> + <sect2 id="functions-greatest-least"> <title><literal>GREATEST</literal> and <literal>LEAST</literal></title> <indexterm> @@ -11492,7 +11493,7 @@ SELECT xmlagg(x) FROM (SELECT x FROM test ORDER BY y DESC) AS tab; Boolean (true/false) results. </para> - <sect2> + <sect2 id="functions-subquery-exists"> <title><literal>EXISTS</literal></title> <synopsis> @@ -11542,7 +11543,7 @@ WHERE EXISTS (SELECT 1 FROM tab2 WHERE col2 = tab1.col2); </para> </sect2> - <sect2> + <sect2 id="functions-subquery-in"> <title><literal>IN</literal></title> <synopsis> @@ -11598,7 +11599,7 @@ WHERE EXISTS (SELECT 1 FROM tab2 WHERE col2 = tab1.col2); </para> </sect2> - <sect2> + <sect2 id="functions-subquery-notin"> <title><literal>NOT IN</literal></title> <synopsis> @@ -11654,7 +11655,7 @@ WHERE EXISTS (SELECT 1 FROM tab2 WHERE col2 = tab1.col2); </para> </sect2> - <sect2> + <sect2 id="functions-subquery-any-some"> <title><literal>ANY</literal>/<literal>SOME</literal></title> <synopsis> @@ -11719,7 +11720,7 @@ WHERE EXISTS (SELECT 1 FROM tab2 WHERE col2 = tab1.col2); </para> </sect2> - <sect2> + <sect2 id="functions-subquery-all"> <title><literal>ALL</literal></title> <synopsis> diff --git a/doc/src/sgml/fuzzystrmatch.sgml b/doc/src/sgml/fuzzystrmatch.sgml index cec3363193..5078bf82da 100644 --- a/doc/src/sgml/fuzzystrmatch.sgml +++ b/doc/src/sgml/fuzzystrmatch.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/fuzzystrmatch.sgml --> -<sect1 id="fuzzystrmatch"> +<sect1 id="fuzzystrmatch" xreflabel="fuzzystrmatch"> <title>fuzzystrmatch</title> <indexterm zone="fuzzystrmatch"> diff --git a/doc/src/sgml/generate_history.pl b/doc/src/sgml/generate_history.pl index 2b81569b9a..a6c0bd77c2 100644 --- a/doc/src/sgml/generate_history.pl +++ b/doc/src/sgml/generate_history.pl @@ -13,10 +13,10 @@ use strict; -my($srcdir) = shift; -defined($srcdir) || die "$0: missing required argument: srcdir\n"; -my($infile) = shift; -defined($infile) || die "$0: missing required argument: inputfile\n"; +my $srcdir = shift; +die "$0: missing required argument: srcdir\n" if !defined($srcdir); +my $infile = shift; +die "$0: missing required argument: inputfile\n" if !defined($infile); # Emit DOCTYPE header so that the output is a self-contained SGML document print "<!DOCTYPE appendix PUBLIC \"-//OASIS//DTD DocBook V4.2//EN\">\n"; @@ -26,11 +26,11 @@ process_file($infile); exit 0; sub process_file { - my($filename) = @_; + my $filename = shift; local *FILE; # need a local filehandle so we can recurse - my($f) = $srcdir . '/' . $filename; + my $f = $srcdir . '/' . $filename; open(FILE, $f) || die "could not read $f: $!\n"; while (<FILE>) { diff --git a/doc/src/sgml/high-availability.sgml b/doc/src/sgml/high-availability.sgml index 5972a45555..0283a1c867 100644 --- a/doc/src/sgml/high-availability.sgml +++ b/doc/src/sgml/high-availability.sgml @@ -188,9 +188,10 @@ protocol to make nodes agree on a serializable transactional order. <para> With statement-based replication middleware, a program intercepts every SQL query and sends it to one or all servers. Each server - operates independently. Read-write queries are sent to all servers, - while read-only queries can be sent to just one server, allowing - the read workload to be distributed. + operates independently. Read-write queries must be sent to all servers, + so that every server receives any changes. But read-only queries can be + sent to just one server, allowing the read workload to be distributed + among them. </para> <para> @@ -209,8 +210,8 @@ protocol to make nodes agree on a serializable transactional order. transactions either commit or abort on all servers, perhaps using two-phase commit (<xref linkend="sql-prepare-transaction"> and <xref linkend="sql-commit-prepared">. - <productname>Pgpool-II</> and <productname>Sequoia</> are examples of - this type of replication. + <productname>Pgpool-II</> and <productname>Continuent Tungsten</> + are examples of this type of replication. </para> </listitem> </varlistentry> diff --git a/doc/src/sgml/hstore.sgml b/doc/src/sgml/hstore.sgml index f00b06aa7a..aa21295265 100644 --- a/doc/src/sgml/hstore.sgml +++ b/doc/src/sgml/hstore.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/hstore.sgml --> -<sect1 id="hstore"> +<sect1 id="hstore" xreflabel="hstore"> <title>hstore</title> <indexterm zone="hstore"> @@ -85,6 +85,12 @@ key => NULL <sect2> <title><type>hstore</> Operators and Functions</title> + <para> + The operators provided by the <literal>hstore</literal> module are + shown in <xref linkend="hstore-op-table">, the functions + in <xref linkend="hstore-func-table">. + </para> + <table id="hstore-op-table"> <title><type>hstore</> Operators</title> diff --git a/doc/src/sgml/intagg.sgml b/doc/src/sgml/intagg.sgml index 43e36fb348..ea5acbe91f 100644 --- a/doc/src/sgml/intagg.sgml +++ b/doc/src/sgml/intagg.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/intagg.sgml --> -<sect1 id="intagg"> +<sect1 id="intagg" xreflabel="intagg"> <title>intagg</title> <indexterm zone="intagg"> diff --git a/doc/src/sgml/intarray.sgml b/doc/src/sgml/intarray.sgml index 449878d671..2bbd98ae37 100644 --- a/doc/src/sgml/intarray.sgml +++ b/doc/src/sgml/intarray.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/intarray.sgml --> -<sect1 id="intarray"> +<sect1 id="intarray" xreflabel="intarray"> <title>intarray</title> <indexterm zone="intarray"> @@ -27,6 +27,12 @@ <sect2> <title><filename>intarray</> Functions and Operators</title> + <para> + The functions provided by the <filename>intarray</filename> module + are shown in <xref linkend="intarray-func-table">, the operators + in <xref linkend="intarray-op-table">. + </para> + <table id="intarray-func-table"> <title><filename>intarray</> Functions</title> diff --git a/doc/src/sgml/isn.sgml b/doc/src/sgml/isn.sgml index 38c98641b2..79ca3acd1b 100644 --- a/doc/src/sgml/isn.sgml +++ b/doc/src/sgml/isn.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/isn.sgml --> -<sect1 id="isn"> +<sect1 id="isn" xreflabel="isn"> <title>isn</title> <indexterm zone="isn"> diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml index 2ba441aa36..ba0cfc99cd 100644 --- a/doc/src/sgml/libpq.sgml +++ b/doc/src/sgml/libpq.sgml @@ -385,63 +385,70 @@ PGconn *PQconnectdbParams(const char **keywords, const char **values, int expand This option determines whether or with what priority a secure <acronym>SSL</> TCP/IP connection will be negotiated with the server. There are six modes: - </para> - <table id="libpq-connect-sslmode-options"> - <title><literal>sslmode</literal> Options</title> - <tgroup cols="2"> - <thead> - <row> - <entry>Option</entry> - <entry>Description</entry> - </row> - </thead> - - <tbody> - - <row> - <entry><literal>disable</></entry> - <entry>only try a non-<acronym>SSL</> connection</entry> - </row> - - <row> - <entry><literal>allow</></entry> - <entry>first try a non-<acronym>SSL</> - connection; if that fails, try an <acronym>SSL</> - connection</entry> - </row> - - <row> - <entry><literal>prefer</> (default)</entry> - <entry>first try an <acronym>SSL</> connection; if - that fails, try a non-<acronym>SSL</> - connection</entry> - </row> - - <row> - <entry><literal>require</></entry> - <entry>only try an <acronym>SSL</> connection</entry> - </row> - - <row> - <entry><literal>verify-ca</></entry> - <entry>only try an <acronym>SSL</> connection, and verify that - the server certificate is issued by a trusted certificate - authority (<acronym>CA</>)</entry> - </row> - - <row> - <entry><literal>verify-full</></entry> - <entry>only try an <acronym>SSL</> connection, verify that - the server certificate is issued by a trusted <acronym>CA</> and - that the server host name matches that in the certificate</entry> - </row> - - </tbody> - </tgroup> - </table> + <variablelist> + <varlistentry> + <term><literal>disable</literal></term> + <listitem> + <para> + only try a non-<acronym>SSL</> connection + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>allow</literal></term> + <listitem> + <para> + first try a non-<acronym>SSL</> connection; if that + fails, try an <acronym>SSL</> connection + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>prefer</literal> (default)</term> + <listitem> + <para> + first try an <acronym>SSL</> connection; if that fails, + try a non-<acronym>SSL</> connection + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>require</literal></term> + <listitem> + <para> + only try an <acronym>SSL</> connection + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>verify-ca</literal></term> + <listitem> + <para> + only try an <acronym>SSL</> connection, and verify that + the server certificate is issued by a trusted + certificate authority (<acronym>CA</>) + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>verify-full</literal></term> + <listitem> + <para> + only try an <acronym>SSL</> connection, verify that the + server certificate is issued by a + trusted <acronym>CA</> and that the server host name + matches that in the certificate + </para> + </listitem> + </varlistentry> + </variablelist> - <para> See <xref linkend="libpq-ssl"> for a detailed description of how these options work. </para> @@ -6387,7 +6394,7 @@ myEventProc(PGEventId evtId, void *evtInfo, void *passThrough) <para> The following environment variables can be used to specify default behavior for each <productname>PostgreSQL</productname> session. (See - also the <xref linkend="sql-alteruser"> + also the <xref linkend="sql-alterrole"> and <xref linkend="sql-alterdatabase"> commands for ways to set default behavior on a per-user or per-database basis.) @@ -6773,30 +6780,23 @@ ldap://ldap.acme.com/cn=dbserver,cn=hosts?pgconnectinfo?base?(objectclass=*) The different values for the <literal>sslmode</> parameter provide different levels of protection. SSL can provide protection against three types of attacks: - </para> - <table id="libpq-ssl-protect-attacks"> - <title>SSL Attacks</title> - <tgroup cols="2"> - <thead> - <row> - <entry>Type</entry> - <entry>Description</entry> - </row> - </thead> - <tbody> - <row> - <entry>Eavesdropping</entry> - <entry>If a third party can examine the network traffic between the + <variablelist> + <varlistentry> + <term>Eavesdropping</term> + <listitem> + <para>If a third party can examine the network traffic between the client and the server, it can read both connection information (including the user name and password) and the data that is passed. <acronym>SSL</> uses encryption to prevent this. - </entry> - </row> + </para> + </listitem> + </varlistentry> - <row> - <entry>Man in the middle (<acronym>MITM</>)</entry> - <entry>If a third party can modify the data while passing between the + <varlistentry> + <term>Man in the middle (<acronym>MITM</>)</term> + <listitem> + <para>If a third party can modify the data while passing between the client and server, it can pretend to be the server and therefore see and modify data <emphasis>even if it is encrypted</>. The third party can then forward the connection information and data to the original server, @@ -6805,21 +6805,23 @@ ldap://ldap.acme.com/cn=dbserver,cn=hosts?pgconnectinfo?base?(objectclass=*) to a different server than intended. There are also several other attack methods that can accomplish this. <acronym>SSL</> uses certificate verification to prevent this, by authenticating the server to the client. - </entry> - </row> + </para> + </listitem> + </varlistentry> - <row> - <entry>Impersonation</entry> - <entry>If a third party can pretend to be an authorized client, it can + <varlistentry> + <term>Impersonation</term> + <listitem> + <para>If a third party can pretend to be an authorized client, it can simply access data it should not have access to. Typically this can happen through insecure password management. <acronym>SSL</> uses client certificates to prevent this, by making sure that only holders of valid certificates can access the server. - </entry> - </row> - </tbody> - </tgroup> - </table> + </para> + </listitem> + </varlistentry> + </variablelist> + </para> <para> For a connection to be known secure, SSL usage must be configured @@ -6844,9 +6846,9 @@ ldap://ldap.acme.com/cn=dbserver,cn=hosts?pgconnectinfo?base?(objectclass=*) <para> All <acronym>SSL</> options carry overhead in the form of encryption and key-exchange, so there is a tradeoff that has to be made between performance - and security. The following table illustrates the risks the different - <literal>sslmode</> values protect against, and what statement they make - about security and overhead: + and security. <xref linkend="libpq-ssl-sslmode-statements"> + illustrates the risks the different <literal>sslmode</> values + protect against, and what statement they make about security and overhead. </para> <table id="libpq-ssl-sslmode-statements"> @@ -6942,6 +6944,12 @@ ldap://ldap.acme.com/cn=dbserver,cn=hosts?pgconnectinfo?base?(objectclass=*) <sect2 id="libpq-ssl-fileusage"> <title>SSL Client File Usage</title> + + <para> + <xref linkend="libpq-ssl-file-usage"> summarizes the files that are + relevant to the SSL setup on the client. + </para> + <table id="libpq-ssl-file-usage"> <title>Libpq/Client SSL File Usage</title> <tgroup cols="3"> diff --git a/doc/src/sgml/lo.sgml b/doc/src/sgml/lo.sgml index 33124f9920..3d56ba3f70 100644 --- a/doc/src/sgml/lo.sgml +++ b/doc/src/sgml/lo.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/lo.sgml --> -<sect1 id="lo"> +<sect1 id="lo" xreflabel="lo"> <title>lo</title> <indexterm zone="lo"> diff --git a/doc/src/sgml/ltree.sgml b/doc/src/sgml/ltree.sgml index d6b58c17d7..0a91cd79d1 100644 --- a/doc/src/sgml/ltree.sgml +++ b/doc/src/sgml/ltree.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/ltree.sgml --> -<sect1 id="ltree"> +<sect1 id="ltree" xreflabel="ltree"> <title>ltree</title> <indexterm zone="ltree"> @@ -182,8 +182,8 @@ Europe & Russia*@ & !Transportation <literal>=</>, <literal><></literal>, <literal><</>, <literal>></>, <literal><=</>, <literal>>=</>. Comparison sorts in the order of a tree traversal, with the children - of a node sorted by label text. In addition, there are the following - specialized operators: + of a node sorted by label text. In addition, the specialized + operators shown in <xref linkend="ltree-op-table"> are available. </para> <table id="ltree-op-table"> @@ -362,7 +362,7 @@ Europe & Russia*@ & !Transportation </para> <para> - The following functions are available: + The available functions are shown in <xref linkend="ltree-func-table">. </para> <table id="ltree-func-table"> diff --git a/doc/src/sgml/monitoring.sgml b/doc/src/sgml/monitoring.sgml index 319a57c6e2..7d8b77e27e 100644 --- a/doc/src/sgml/monitoring.sgml +++ b/doc/src/sgml/monitoring.sgml @@ -1357,9 +1357,10 @@ SELECT pg_stat_get_backend_pid(s.backendid) AS procpid, <para> A number of standard probes are provided in the source code, - as shown in <xref linkend="dtrace-probe-point-table">. - More can certainly be added to enhance <productname>PostgreSQL</>'s - observability. + as shown in <xref linkend="dtrace-probe-point-table">; + <xref linkend="typedefs-table"> + shows the types used in the probes. More probes can certainly be + added to enhance <productname>PostgreSQL</>'s observability. </para> <table id="dtrace-probe-point-table"> diff --git a/doc/src/sgml/oid2name.sgml b/doc/src/sgml/oid2name.sgml index 36fcfd5cda..3e4fe24a49 100644 --- a/doc/src/sgml/oid2name.sgml +++ b/doc/src/sgml/oid2name.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/oid2name.sgml --> -<sect1 id="oid2name"> +<sect1 id="oid2name" xreflabel="oid2name"> <title>oid2name</title> <indexterm zone="oid2name"> diff --git a/doc/src/sgml/pageinspect.sgml b/doc/src/sgml/pageinspect.sgml index a5fbadb731..acbb05bc9c 100644 --- a/doc/src/sgml/pageinspect.sgml +++ b/doc/src/sgml/pageinspect.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/pageinspect.sgml --> -<sect1 id="pageinspect"> +<sect1 id="pageinspect" xreflabel="pageinspect"> <title>pageinspect</title> <indexterm zone="pageinspect"> diff --git a/doc/src/sgml/passwordcheck.sgml b/doc/src/sgml/passwordcheck.sgml index 11107fb6dd..0050e65824 100644 --- a/doc/src/sgml/passwordcheck.sgml +++ b/doc/src/sgml/passwordcheck.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/passwordcheck.sgml --> -<sect1 id="passwordcheck"> +<sect1 id="passwordcheck" xreflabel="passwordcheck"> <title>passwordcheck</title> <indexterm zone="passwordcheck"> diff --git a/doc/src/sgml/pgarchivecleanup.sgml b/doc/src/sgml/pgarchivecleanup.sgml index 725f3ed07c..ddffa321f6 100644 --- a/doc/src/sgml/pgarchivecleanup.sgml +++ b/doc/src/sgml/pgarchivecleanup.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/pgarchivecleanup.sgml --> -<sect1 id="pgarchivecleanup"> +<sect1 id="pgarchivecleanup" xreflabel="pg_archivecleanup"> <title>pg_archivecleanup</title> <indexterm zone="pgarchivecleanup"> diff --git a/doc/src/sgml/pgbench.sgml b/doc/src/sgml/pgbench.sgml index 5a10e93a40..e7b78605ec 100644 --- a/doc/src/sgml/pgbench.sgml +++ b/doc/src/sgml/pgbench.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/pgbench.sgml --> -<sect1 id="pgbench"> +<sect1 id="pgbench" xreflabel="pgbench"> <title>pgbench</title> <indexterm zone="pgbench"> diff --git a/doc/src/sgml/pgbuffercache.sgml b/doc/src/sgml/pgbuffercache.sgml index fa7a78dfcd..1d7d95f9d7 100644 --- a/doc/src/sgml/pgbuffercache.sgml +++ b/doc/src/sgml/pgbuffercache.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/pgbuffercache.sgml --> -<sect1 id="pgbuffercache"> +<sect1 id="pgbuffercache" xreflabel="pg_buffercache"> <title>pg_buffercache</title> <indexterm zone="pgbuffercache"> diff --git a/doc/src/sgml/pgcrypto.sgml b/doc/src/sgml/pgcrypto.sgml index 60bc0a2046..6b78f2c1c6 100644 --- a/doc/src/sgml/pgcrypto.sgml +++ b/doc/src/sgml/pgcrypto.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/pgcrypto.sgml --> -<sect1 id="pgcrypto"> +<sect1 id="pgcrypto" xreflabel="pgcrypto"> <title>pgcrypto</title> <indexterm zone="pgcrypto"> diff --git a/doc/src/sgml/pgfreespacemap.sgml b/doc/src/sgml/pgfreespacemap.sgml index bdacbaf0e5..51f772a397 100644 --- a/doc/src/sgml/pgfreespacemap.sgml +++ b/doc/src/sgml/pgfreespacemap.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/pgfreespacemap.sgml --> -<sect1 id="pgfreespacemap"> +<sect1 id="pgfreespacemap" xreflabel="pg_freespacemap"> <title>pg_freespacemap</title> <indexterm zone="pgfreespacemap"> diff --git a/doc/src/sgml/pgrowlocks.sgml b/doc/src/sgml/pgrowlocks.sgml index b2c2590ad7..db1cf5e863 100644 --- a/doc/src/sgml/pgrowlocks.sgml +++ b/doc/src/sgml/pgrowlocks.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/pgrowlocks.sgml --> -<sect1 id="pgrowlocks"> +<sect1 id="pgrowlocks" xreflabel="pgrowlocks"> <title>pgrowlocks</title> <indexterm zone="pgrowlocks"> diff --git a/doc/src/sgml/pgstandby.sgml b/doc/src/sgml/pgstandby.sgml index 7f0a8744fa..e698cb73e6 100644 --- a/doc/src/sgml/pgstandby.sgml +++ b/doc/src/sgml/pgstandby.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/pgstandby.sgml --> -<sect1 id="pgstandby"> +<sect1 id="pgstandby" xreflabel="pg_standby"> <title>pg_standby</title> <indexterm zone="pgstandby"> diff --git a/doc/src/sgml/pgstatstatements.sgml b/doc/src/sgml/pgstatstatements.sgml index 8cff1020bb..52268c545d 100644 --- a/doc/src/sgml/pgstatstatements.sgml +++ b/doc/src/sgml/pgstatstatements.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/pgstatstatements.sgml --> -<sect1 id="pgstatstatements"> +<sect1 id="pgstatstatements" xreflabel="pg_stat_statements"> <title>pg_stat_statements</title> <indexterm zone="pgstatstatements"> diff --git a/doc/src/sgml/pgstattuple.sgml b/doc/src/sgml/pgstattuple.sgml index cc2849b5e6..a55b35cb3f 100644 --- a/doc/src/sgml/pgstattuple.sgml +++ b/doc/src/sgml/pgstattuple.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/pgstattuple.sgml --> -<sect1 id="pgstattuple"> +<sect1 id="pgstattuple" xreflabel="pgstattuple"> <title>pgstattuple</title> <indexterm zone="pgstattuple"> diff --git a/doc/src/sgml/pgtestfsync.sgml b/doc/src/sgml/pgtestfsync.sgml index 5ad7b73ed0..4015eb51d8 100644 --- a/doc/src/sgml/pgtestfsync.sgml +++ b/doc/src/sgml/pgtestfsync.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/pgtestfsync.sgml --> -<sect1 id="pgtestfsync"> +<sect1 id="pgtestfsync" xreflabel="pg_test_fsync"> <title>pg_test_fsync</title> <indexterm zone="pgtestfsync"> diff --git a/doc/src/sgml/pgtrgm.sgml b/doc/src/sgml/pgtrgm.sgml index 9210899ec2..18f0f3eba0 100644 --- a/doc/src/sgml/pgtrgm.sgml +++ b/doc/src/sgml/pgtrgm.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/pgtrgm.sgml --> -<sect1 id="pgtrgm"> +<sect1 id="pgtrgm" xreflabel="pg_trgm"> <title>pg_trgm</title> <indexterm zone="pgtrgm"> @@ -43,6 +43,12 @@ <sect2> <title>Functions and Operators</title> + <para> + The functions provided by the <filename>pg_trgm</filename> module + are shown in <xref linkend="pgtrgm-func-table">, the operators + in <xref linkend="pgtrgm-op-table">. + </para> + <table id="pgtrgm-func-table"> <title><filename>pg_trgm</filename> Functions</title> <tgroup cols="3"> diff --git a/doc/src/sgml/pgupgrade.sgml b/doc/src/sgml/pgupgrade.sgml index c41068f074..1713bf0272 100644 --- a/doc/src/sgml/pgupgrade.sgml +++ b/doc/src/sgml/pgupgrade.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/pgupgrade.sgml --> -<sect1 id="pgupgrade"> +<sect1 id="pgupgrade" xreflabel="pg_upgrade"> <title>pg_upgrade</title> <indexterm zone="pgupgrade"> diff --git a/doc/src/sgml/recovery-config.sgml b/doc/src/sgml/recovery-config.sgml index 144b880f42..de6090520d 100644 --- a/doc/src/sgml/recovery-config.sgml +++ b/doc/src/sgml/recovery-config.sgml @@ -95,7 +95,7 @@ restore_command = 'copy "C:\\server\\archivedir\\%f" "%p"' # Windows The <xref linkend="pgarchivecleanup"> module is often used in <varname>archive_cleanup_command</> for single-standby configurations, for example: -<programlisting> archive_cleanup_command = 'pg_archivecleanup /mnt/server/archivedir %r' </programlisting> +<programlisting>archive_cleanup_command = 'pg_archivecleanup /mnt/server/archivedir %r'</programlisting> Note however that if multiple standby servers are restoring from the same archive directory, you will need to ensure that you do not delete WAL files until they are no longer needed by any of the servers. diff --git a/doc/src/sgml/ref/createdb.sgml b/doc/src/sgml/ref/createdb.sgml index 7cbf56506d..9c8171d049 100644 --- a/doc/src/sgml/ref/createdb.sgml +++ b/doc/src/sgml/ref/createdb.sgml @@ -107,6 +107,19 @@ PostgreSQL documentation </varlistentry> <varlistentry> + <term><option>-E <replaceable class="parameter">encoding</replaceable></></term> + <term><option>--encoding=<replaceable class="parameter">encoding</replaceable></></term> + <listitem> + <para> + Specifies the character encoding scheme to be used in this + database. The character sets supported by the + <productname>PostgreSQL</productname> server are described in + <xref linkend="multibyte-charset-supported">. + </para> + </listitem> + </varlistentry> + + <varlistentry> <term><option>-l <replaceable class="parameter">locale</replaceable></></term> <term><option>--locale=<replaceable class="parameter">locale</replaceable></></term> <listitem> @@ -136,19 +149,6 @@ PostgreSQL documentation </varlistentry> <varlistentry> - <term><option>-E <replaceable class="parameter">encoding</replaceable></></term> - <term><option>--encoding=<replaceable class="parameter">encoding</replaceable></></term> - <listitem> - <para> - Specifies the character encoding scheme to be used in this - database. The character sets supported by the - <productname>PostgreSQL</productname> server are described in - <xref linkend="multibyte-charset-supported">. - </para> - </listitem> - </varlistentry> - - <varlistentry> <term><option>-O <replaceable class="parameter">owner</replaceable></></term> <term><option>--owner=<replaceable class="parameter">owner</replaceable></></term> <listitem> diff --git a/doc/src/sgml/ref/grant.sgml b/doc/src/sgml/ref/grant.sgml index 93e83320cc..689aba5104 100644 --- a/doc/src/sgml/ref/grant.sgml +++ b/doc/src/sgml/ref/grant.sgml @@ -101,7 +101,7 @@ GRANT <replaceable class="PARAMETER">role_name</replaceable> [, ...] TO <replace There is also an option to grant privileges on all objects of the same type within one or more schemas. This functionality is currently supported only for tables, sequences, and functions (but note that <literal>ALL - TABLES</> is considered to include views). + TABLES</> is considered to include views and foreign tables). </para> <para> diff --git a/doc/src/sgml/ref/pg_basebackup.sgml b/doc/src/sgml/ref/pg_basebackup.sgml index 382effdaa3..29c885e93d 100644 --- a/doc/src/sgml/ref/pg_basebackup.sgml +++ b/doc/src/sgml/ref/pg_basebackup.sgml @@ -388,28 +388,28 @@ PostgreSQL documentation To create a base backup of the server at <literal>mydbserver</literal> and store it in the local directory <filename>/usr/local/pgsql/data</filename>: - <screen> - <prompt>$</prompt> <userinput>pg_basebackup -h mydbserver -D /usr/local/pgsql/data</userinput> - </screen> +<screen> +<prompt>$</prompt> <userinput>pg_basebackup -h mydbserver -D /usr/local/pgsql/data</userinput> +</screen> </para> <para> To create a backup of the local server with one maximum compressed tar file for each tablespace, and store it in the directory <filename>backup</filename>, showing a progress report while running: - <screen> - <prompt>$</prompt> <userinput>pg_basebackup -D backup -Ft -Z9 -P</userinput> - </screen> +<screen> +<prompt>$</prompt> <userinput>pg_basebackup -D backup -Ft -Z9 -P</userinput> +</screen> </para> <para> To create a backup of a single-tablespace local database and compress this with <productname>bzip2</productname>: - <screen> - <prompt>$</prompt> <userinput>pg_basebackup -D - -Ft | bzip2 > backup.tar.bz2</userinput> - </screen> - (this command will fail if there are multiple tablespaces in the - database) +<screen> +<prompt>$</prompt> <userinput>pg_basebackup -D - -Ft | bzip2 > backup.tar.bz2</userinput> +</screen> + (This command will fail if there are multiple tablespaces in the + database.) </para> </refsect1> diff --git a/doc/src/sgml/ref/security_label.sgml b/doc/src/sgml/ref/security_label.sgml index 40ce3317b9..8a01b940de 100644 --- a/doc/src/sgml/ref/security_label.sgml +++ b/doc/src/sgml/ref/security_label.sgml @@ -82,7 +82,7 @@ SECURITY LABEL [ FOR <replaceable class="PARAMETER">provider</replaceable> ] ON <term><replaceable class="parameter">function_name</replaceable></term> <listitem> <para> - The name of the object to be commented. Names of tables, + The name of the object to be labeled. Names of tables, aggregates, domains, foreign tables, functions, sequences, types, and views can be schema-qualified. </para> @@ -120,8 +120,8 @@ SECURITY LABEL [ FOR <replaceable class="PARAMETER">provider</replaceable> ] ON The mode of a function argument: <literal>IN</>, <literal>OUT</>, <literal>INOUT</>, or <literal>VARIADIC</>. If omitted, the default is <literal>IN</>. - Note that <command>COMMENT ON FUNCTION</command> does not actually pay - any attention to <literal>OUT</> arguments, since only the input + Note that <command>SECURITY LABEL ON FUNCTION</command> does not actually + pay any attention to <literal>OUT</> arguments, since only the input arguments are needed to determine the function's identity. So it is sufficient to list the <literal>IN</>, <literal>INOUT</>, and <literal>VARIADIC</> arguments. @@ -135,8 +135,8 @@ SECURITY LABEL [ FOR <replaceable class="PARAMETER">provider</replaceable> ] ON <listitem> <para> The name of a function argument. - Note that <command>COMMENT ON FUNCTION</command> does not actually pay - any attention to argument names, since only the argument data + Note that <command>SECURITY LABEL ON FUNCTION</command> does not actually + pay any attention to argument names, since only the argument data types are needed to determine the function's identity. </para> </listitem> diff --git a/doc/src/sgml/release-9.1.sgml b/doc/src/sgml/release-9.1.sgml index d70c806fda..280e0bb142 100644 --- a/doc/src/sgml/release-9.1.sgml +++ b/doc/src/sgml/release-9.1.sgml @@ -58,11 +58,12 @@ </para> <para> - This removes a long-standing incompatibility with the SQL - standard; <link + By default, backslashes are now ordinary characters in string literals, + not escape characters. This change removes a long-standing + incompatibility with the SQL standard. <link linkend="guc-escape-string-warning"><varname>escape_string_warning</></link> has produced warnings about this usage for years. <literal>E''</> - strings are the proper way to embed escapes in strings and are + strings are the proper way to embed backslash escapes in strings and are unaffected by this change. </para> </listitem> diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml index 143090e99a..d18ba79f40 100644 --- a/doc/src/sgml/runtime.sgml +++ b/doc/src/sgml/runtime.sgml @@ -2097,12 +2097,11 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433 <sect2 id="ssl-server-files"> <title>SSL Server File Usage</title> - <para> - The files <filename>server.key</>, <filename>server.crt</>, - <filename>root.crt</filename>, and <filename>root.crl</filename> - are only examined during server start; so you must restart - the server for changes in them to take effect. - </para> + + <para> + <xref linkend="ssl-file-usage"> summarizes the files that are + relevant to the SSL setup on the server. + </para> <table id="ssl-file-usage"> <title>SSL Server File Usage</title> @@ -2146,6 +2145,13 @@ pg_dumpall -p 5432 | psql -d postgres -p 5433 </tbody> </tgroup> </table> + + <para> + The files <filename>server.key</>, <filename>server.crt</>, + <filename>root.crt</filename>, and <filename>root.crl</filename> + are only examined during server start; so you must restart + the server for changes in them to take effect. + </para> </sect2> <sect2 id="ssl-certificate-creation"> diff --git a/doc/src/sgml/seg.sgml b/doc/src/sgml/seg.sgml index a726ca127f..00bd71dcb6 100644 --- a/doc/src/sgml/seg.sgml +++ b/doc/src/sgml/seg.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/seg.sgml --> -<sect1 id="seg"> +<sect1 id="seg" xreflabel="seg"> <title>seg</title> <indexterm zone="seg"> diff --git a/doc/src/sgml/sepgsql.sgml b/doc/src/sgml/sepgsql.sgml index 589fe79d51..f35ab97be1 100644 --- a/doc/src/sgml/sepgsql.sgml +++ b/doc/src/sgml/sepgsql.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/sepgsql.sgml --> -<sect1 id="sepgsql"> +<sect1 id="sepgsql" xreflabel="sepgsql"> <title>sepgsql</title> <indexterm zone="sepgsql"> diff --git a/doc/src/sgml/sslinfo.sgml b/doc/src/sgml/sslinfo.sgml index f7ccb8c56c..618182458a 100644 --- a/doc/src/sgml/sslinfo.sgml +++ b/doc/src/sgml/sslinfo.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/sslinfo.sgml --> -<sect1 id="sslinfo"> +<sect1 id="sslinfo" xreflabel="sslinfo"> <title>sslinfo</title> <indexterm zone="sslinfo"> diff --git a/doc/src/sgml/syntax.sgml b/doc/src/sgml/syntax.sgml index 40a87aabc7..f6c4a4defa 100644 --- a/doc/src/sgml/syntax.sgml +++ b/doc/src/sgml/syntax.sgml @@ -972,7 +972,7 @@ CAST ( '<replaceable>string</replaceable>' AS <replaceable>type</replaceable> ) </sect2> <sect2 id="sql-precedence"> - <title>Lexical Precedence</title> + <title>Operator Precedence</title> <indexterm zone="sql-precedence"> <primary>operator</primary> @@ -1039,9 +1039,9 @@ SELECT (5 !) - 6; </row> <row> - <entry><token>-</token></entry> + <entry><token>+</token> <token>-</token></entry> <entry>right</entry> - <entry>unary minus</entry> + <entry>unary plus, unary minus</entry> </row> <row> @@ -1065,7 +1065,7 @@ SELECT (5 !) - 6; <row> <entry><token>IS</token></entry> <entry></entry> - <entry><literal>IS TRUE</>, <literal>IS FALSE</>, <literal>IS UNKNOWN</>, <literal>IS NULL</></entry> + <entry><literal>IS TRUE</>, <literal>IS FALSE</>, <literal>IS NULL</>, etc</entry> </row> <row> diff --git a/doc/src/sgml/tablefunc.sgml b/doc/src/sgml/tablefunc.sgml index dfb932f501..cfa20e2a70 100644 --- a/doc/src/sgml/tablefunc.sgml +++ b/doc/src/sgml/tablefunc.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/tablefunc.sgml --> -<sect1 id="tablefunc"> +<sect1 id="tablefunc" xreflabel="tablefunc"> <title>tablefunc</title> <indexterm zone="tablefunc"> @@ -431,17 +431,17 @@ crosstab(text source_sql, text category_sql) For example, <parameter>source_sql</parameter> might produce a set something like: <programlisting> - SELECT row_name, extra_col, cat, value FROM foo ORDER BY 1; - - row_name extra_col cat value - ----------+------------+-----+--------- - row1 extra1 cat1 val1 - row1 extra1 cat2 val2 - row1 extra1 cat4 val4 - row2 extra2 cat1 val5 - row2 extra2 cat2 val6 - row2 extra2 cat3 val7 - row2 extra2 cat4 val8 +SELECT row_name, extra_col, cat, value FROM foo ORDER BY 1; + + row_name extra_col cat value +----------+------------+-----+--------- + row1 extra1 cat1 val1 + row1 extra1 cat2 val2 + row1 extra1 cat4 val4 + row2 extra2 cat1 val5 + row2 extra2 cat2 val6 + row2 extra2 cat3 val7 + row2 extra2 cat4 val8 </programlisting> </para> diff --git a/doc/src/sgml/test-parser.sgml b/doc/src/sgml/test-parser.sgml index 0f2008cbe6..28b1e91c58 100644 --- a/doc/src/sgml/test-parser.sgml +++ b/doc/src/sgml/test-parser.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/test-parser.sgml --> -<sect1 id="test-parser"> +<sect1 id="test-parser" xreflabel="test_parser"> <title>test_parser</title> <indexterm zone="test-parser"> diff --git a/doc/src/sgml/textsearch.sgml b/doc/src/sgml/textsearch.sgml index 1beebd21ee..dba5bd6603 100644 --- a/doc/src/sgml/textsearch.sgml +++ b/doc/src/sgml/textsearch.sgml @@ -1799,7 +1799,7 @@ LIMIT 10; <para> The built-in parser is named <literal>pg_catalog.default</>. - It recognizes 23 token types: + It recognizes 23 token types, shown in <xref linkend="textsearch-default-parser">. </para> <table id="textsearch-default-parser"> diff --git a/doc/src/sgml/tsearch2.sgml b/doc/src/sgml/tsearch2.sgml index 8321c1efb4..192eccd732 100644 --- a/doc/src/sgml/tsearch2.sgml +++ b/doc/src/sgml/tsearch2.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/tsearch2.sgml --> -<sect1 id="tsearch2"> +<sect1 id="tsearch2" xreflabel="tsearch2"> <title>tsearch2</title> <indexterm zone="tsearch2"> diff --git a/doc/src/sgml/unaccent.sgml b/doc/src/sgml/unaccent.sgml index 9c34c0bbd2..af9cad5d8c 100644 --- a/doc/src/sgml/unaccent.sgml +++ b/doc/src/sgml/unaccent.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/unaccent.sgml --> -<sect1 id="unaccent"> +<sect1 id="unaccent" xreflabel="unaccent"> <title>unaccent</title> <indexterm zone="unaccent"> diff --git a/doc/src/sgml/uuid-ossp.sgml b/doc/src/sgml/uuid-ossp.sgml index 3dd89903fa..7446b8be5c 100644 --- a/doc/src/sgml/uuid-ossp.sgml +++ b/doc/src/sgml/uuid-ossp.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/uuid-ossp.sgml --> -<sect1 id="uuid-ossp"> +<sect1 id="uuid-ossp" xreflabel="uuid-ossp"> <title>uuid-ossp</title> <indexterm zone="uuid-ossp"> diff --git a/doc/src/sgml/vacuumlo.sgml b/doc/src/sgml/vacuumlo.sgml index fbb6815a44..471a6ca32b 100644 --- a/doc/src/sgml/vacuumlo.sgml +++ b/doc/src/sgml/vacuumlo.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/vacuumlo.sgml --> -<sect1 id="vacuumlo"> +<sect1 id="vacuumlo" xreflabel="vacuumlo"> <title>vacuumlo</title> <indexterm zone="vacuumlo"> diff --git a/doc/src/sgml/xml2.sgml b/doc/src/sgml/xml2.sgml index 8ce7351a7c..90b5ac0785 100644 --- a/doc/src/sgml/xml2.sgml +++ b/doc/src/sgml/xml2.sgml @@ -1,6 +1,6 @@ <!-- doc/src/sgml/xml2.sgml --> -<sect1 id="xml2"> +<sect1 id="xml2" xreflabel="xml2"> <title>xml2</title> <indexterm zone="xml2"> |
