Doc: describe the "options" allowed in an ECPG connection target string.

These have been there a long time, but their format was never explained
in the docs.  Per complaint from Yusuke Egashira.

Discussion: https://postgr.es/m/848B1649C8A6274AA527C4472CA11EDD5FC70CBE@G01JPEXMBYT02
This commit is contained in:
Tom Lane 2019-08-31 14:05:32 -04:00
parent b61a5e6a1f
commit 756349c87b
1 changed files with 14 additions and 1 deletions

View File

@ -177,6 +177,19 @@ EXEC SQL CONNECT TO <replaceable>target</replaceable> <optional>AS <replaceable>
SQL string literal, or a reference to a character variable.
</para>
<para>
If the connection target includes any <replaceable>options</replaceable>,
those consist of
<literal><replaceable>keyword</replaceable>=<replaceable>value</replaceable></literal>
specifications separated by ampersands (<literal>&amp;</literal>).
The allowed key words are the same ones recognized
by <application>libpq</application> (see
<xref linkend="libpq-paramkeywords"/>). Spaces are ignored before
any <replaceable>keyword</replaceable> or <replaceable>value</replaceable>,
though not within or after one. Note that there is no way to
write <literal>&amp;</literal> within a <replaceable>value</replaceable>.
</para>
<para>
The <replaceable>connection-name</replaceable> is used to handle
multiple connections in one program. It can be omitted if a
@ -191,7 +204,7 @@ EXEC SQL CONNECT TO <replaceable>target</replaceable> <optional>AS <replaceable>
<link linkend="ddl-schemas-patterns">secure schema usage pattern</link>,
begin each session by removing publicly-writable schemas
from <varname>search_path</varname>. For example,
add <literal>options=-csearch_path=</literal>
add <literal>options=-c search_path=</literal>
to <literal><replaceable>options</replaceable></literal>, or
issue <literal>EXEC SQL SELECT pg_catalog.set_config('search_path', '',
false);</literal> after connecting. This consideration is not specific to