1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-13 07:41:39 +03:00

Allow escaping of option values for options passed at connection start.

This is useful to allow to set GUCs to values that include spaces;
something that wasn't previously possible. The primary case motivating
this is the desire to set default_transaction_isolation to 'repeatable
read' on a per connection basis, but other usecases like seach_path do
also exist.

This introduces a slight backward incompatibility: Previously a \ in
an option value would have been passed on literally, now it'll be
taken as an escape.

The relevant mailing list discussion starts with
20140204125823.GJ12016@awork2.anarazel.de.
This commit is contained in:
Andres Freund
2014-08-28 13:59:29 +02:00
parent e23014f3d4
commit 11a020eb6e
3 changed files with 43 additions and 17 deletions

View File

@ -4734,7 +4734,10 @@ StartupMessage (F)
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.
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>\\</>).
</para>
</listitem>
</varlistentry>