diff options
Diffstat (limited to 'doc/src/sgml/postgres-fdw.sgml')
-rw-r--r-- | doc/src/sgml/postgres-fdw.sgml | 67 |
1 files changed, 66 insertions, 1 deletions
diff --git a/doc/src/sgml/postgres-fdw.sgml b/doc/src/sgml/postgres-fdw.sgml index 0c55e0f0fd5..41cdb9ea1b5 100644 --- a/doc/src/sgml/postgres-fdw.sgml +++ b/doc/src/sgml/postgres-fdw.sgml @@ -132,6 +132,20 @@ </listitem> <listitem> <para> + <literal>application_name</literal> - this may appear in + <emphasis>either or both</emphasis> a connection and + <xref linkend="guc-pgfdw-application-name"/>. + If both are present, <varname>postgres_fdw.application_name</varname> + overrides the connection setting. + Unlike <application>libpq</application>, + <filename>postgres_fdw</filename> allows + <varname>application_name</varname> to include + <quote>escape sequences</quote>. + See <xref linkend="guc-pgfdw-application-name"/> for details. + </para> + </listitem> + <listitem> + <para> <literal>fallback_application_name</literal> (always set to <literal>postgres_fdw</literal>) </para> @@ -920,7 +934,7 @@ postgres=# SELECT postgres_fdw_disconnect_all(); <title>Configuration Parameters</title> <variablelist> - <varlistentry> + <varlistentry id="guc-pgfdw-application-name" xreflabel="postgres_fdw.application_name"> <term> <varname>postgres_fdw.application_name</varname> (<type>string</type>) <indexterm> @@ -946,6 +960,57 @@ postgres=# SELECT postgres_fdw_disconnect_all(); marks (<literal>?</literal>). See <xref linkend="guc-application-name"/> for details. </para> + + <para> + <literal>%</literal> characters begin <quote>escape sequences</quote> + that are replaced with status information as outlined below. + Unrecognized escapes are ignored. Other characters are copied straight + to the application name. Note that it's not allowed to specify a + plus/minus sign or a numeric literal after the <literal>%</literal> + and before the option, for alignment and padding. + </para> + + <informaltable> + <tgroup cols="2"> + <thead> + <row> + <entry>Escape</entry> + <entry>Effect</entry> + </row> + </thead> + <tbody> + <row> + <entry><literal>%a</literal></entry> + <entry>Application name in local server</entry> + </row> + <row> + <entry><literal>%u</literal></entry> + <entry>User name in local server</entry> + </row> + <row> + <entry><literal>%d</literal></entry> + <entry>Database name in local server</entry> + </row> + <row> + <entry><literal>%p</literal></entry> + <entry>Process ID of backend in local server</entry> + </row> + <row> + <entry><literal>%%</literal></entry> + <entry>Literal %</entry> + </row> + </tbody> + </tgroup> + </informaltable> + + <para> + For example, suppose user <literal>local_user</literal> establishes + a connection from database <literal>local_db</literal> to + <literal>foreign_db</literal> as user <literal>foreign_user</literal>, + the setting <literal>'db=%d, user=%u'</literal> is replaced with + <literal>'db=local_db, user=local_user'</literal>. + </para> + </listitem> </varlistentry> </variablelist> |