aboutsummaryrefslogtreecommitdiff
path: root/doc/src
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2015-06-29 12:42:52 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2015-06-29 12:42:52 -0400
commitcbc8d65639344c390a1d1a7f646c186ff3ad8693 (patch)
tree46c7ad96d8f554aea527f30247363f4fc85f8ef5 /doc/src
parent07cb8b02ab4c8b65bb2e3b87ad2402fdc6cce978 (diff)
downloadpostgresql-cbc8d65639344c390a1d1a7f646c186ff3ad8693.tar.gz
postgresql-cbc8d65639344c390a1d1a7f646c186ff3ad8693.zip
Code + docs review for escaping of option values (commit 11a020eb6).
Avoid memory leak from incorrect choice of how to free a StringInfo (resetStringInfo doesn't do it). Now that pg_split_opts doesn't scribble on the optstr, mark that as "const" for clarity. Attach the commentary in protocol.sgml to the right place, and add documentation about the user-visible effects of this change on postgres' -o option and libpq's PGOPTIONS option.
Diffstat (limited to 'doc/src')
-rw-r--r--doc/src/sgml/libpq.sgml9
-rw-r--r--doc/src/sgml/protocol.sgml12
-rw-r--r--doc/src/sgml/ref/postgres-ref.sgml14
3 files changed, 22 insertions, 13 deletions
diff --git a/doc/src/sgml/libpq.sgml b/doc/src/sgml/libpq.sgml
index b5533cdb9fb..de6b3ad86bf 100644
--- a/doc/src/sgml/libpq.sgml
+++ b/doc/src/sgml/libpq.sgml
@@ -1016,10 +1016,13 @@ postgresql://%2Fvar%2Flib%2Fpostgresql/dbname
<term><literal>options</literal></term>
<listitem>
<para>
- Adds command-line options to send to the server at run-time.
- For example, setting this to <literal>-c geqo=off</> sets the
+ Specifies command-line options to send to the server at connection
+ start. For example, setting this to <literal>-c geqo=off</> sets the
session's value of the <varname>geqo</> parameter to
- <literal>off</>. For a detailed discussion of the available
+ <literal>off</>. Spaces within this string are considered to
+ separate command-line arguments, unless escaped with a backslash
+ (<literal>\</>); write <literal>\\</> to represent a literal
+ backslash. For a detailed discussion of the available
options, consult <xref linkend="runtime-config">.
</para>
</listitem>
diff --git a/doc/src/sgml/protocol.sgml b/doc/src/sgml/protocol.sgml
index c7df697845e..42e94971741 100644
--- a/doc/src/sgml/protocol.sgml
+++ b/doc/src/sgml/protocol.sgml
@@ -4739,7 +4739,10 @@ StartupMessage (F)
<para>
Command-line arguments for the backend. (This is
deprecated in favor of setting individual run-time
- parameters.)
+ parameters.) Spaces within this string are
+ considered to separate arguments, unless escaped with
+ a backslash (<literal>\</>); write <literal>\\</> to
+ represent a literal backslash.
</para>
</listitem>
</varlistentry>
@@ -4748,11 +4751,8 @@ StartupMessage (F)
In addition to the above, any run-time parameter that can be
set at backend start time might be listed. Such settings
will be applied during backend start (after parsing the
- command-line options if any). The values will act as
- session defaults. Spaces in option values need to be escaped
- with a backslash (<literal>\</>). A literal backslash can be
- passed by escaping it with another backslash
- (i.e <literal>\\</>).
+ command-line arguments if any). The values will act as
+ session defaults.
</para>
</listitem>
</varlistentry>
diff --git a/doc/src/sgml/ref/postgres-ref.sgml b/doc/src/sgml/ref/postgres-ref.sgml
index 3b5617181ca..e2e99092428 100644
--- a/doc/src/sgml/ref/postgres-ref.sgml
+++ b/doc/src/sgml/ref/postgres-ref.sgml
@@ -284,12 +284,18 @@ PostgreSQL documentation
<term><option>-o <replaceable class="parameter">extra-options</replaceable></option></term>
<listitem>
<para>
- The command-line-style options specified in <replaceable
+ The command-line-style arguments specified in <replaceable
class="parameter">extra-options</replaceable> are passed to
all server processes started by this
- <command>postgres</command> process. If the option string contains
- any spaces, the entire string must be quoted; multiple
- option invocations are appended.
+ <command>postgres</command> process.
+ </para>
+
+ <para>
+ Spaces within <replaceable class="parameter">extra-options</> are
+ considered to separate arguments, unless escaped with a backslash
+ (<literal>\</>); write <literal>\\</> to represent a literal
+ backslash. Multiple arguments can also be specified via multiple
+ uses of <option>-o</>.
</para>
<para>