diff options
author | Fujii Masao <fujii@postgresql.org> | 2021-04-02 19:45:42 +0900 |
---|---|---|
committer | Fujii Masao <fujii@postgresql.org> | 2021-04-02 19:45:42 +0900 |
commit | b1be3074ac719ce8073fba35d4c8b52fb4ddd0c3 (patch) | |
tree | 4a7b836541eb0d7df10a6b83e951c7f9f673cc3e /doc/src | |
parent | 9c5f67fd6256246b2a788a8feb1d42b79dcd0448 (diff) | |
download | postgresql-b1be3074ac719ce8073fba35d4c8b52fb4ddd0c3.tar.gz postgresql-b1be3074ac719ce8073fba35d4c8b52fb4ddd0c3.zip |
postgres_fdw: Add option to control whether to keep connections open.
This commit adds a new option keep_connections that controls
whether postgres_fdw keeps the connections to the foreign server open
so that the subsequent queries can re-use them. This option can only be
specified for a foreign server. The default is on. If set to off,
all connections to the foreign server will be discarded
at the end of transaction. Closed connections will be re-established
when they are necessary by future queries using a foreign table.
This option is useful, for example, when users want to prevent
the connections from eating up the foreign servers connections
capacity.
Author: Bharath Rupireddy
Reviewed-by: Alexey Kondratov, Vignesh C, Fujii Masao
Discussion: https://postgr.es/m/CALj2ACVvrp5=AVp2PupEm+nAC8S4buqR3fJMmaCoc7ftT0aD2A@mail.gmail.com
Diffstat (limited to 'doc/src')
-rw-r--r-- | doc/src/sgml/postgres-fdw.sgml | 37 |
1 files changed, 34 insertions, 3 deletions
diff --git a/doc/src/sgml/postgres-fdw.sgml b/doc/src/sgml/postgres-fdw.sgml index c21e9be209b..a7c695b000f 100644 --- a/doc/src/sgml/postgres-fdw.sgml +++ b/doc/src/sgml/postgres-fdw.sgml @@ -518,6 +518,33 @@ OPTIONS (ADD password_required 'false'); </para> </sect3> + + <sect3> + <title>Connection Management Options</title> + + <para> + By default all the open connections that <filename>postgres_fdw</filename> + established to the foreign servers are kept in local session for re-use. + </para> + + <variablelist> + + <varlistentry> + <term><literal>keep_connections</literal></term> + <listitem> + <para> + This option controls whether <filename>postgres_fdw</filename> keeps + the connections to the foreign server open so that the subsequent + queries can re-use them. It can only be specified for a foreign server. + The default is <literal>on</literal>. If set to <literal>off</literal>, + all connections to this foreign server will be discarded at the end of + transaction. + </para> + </listitem> + </varlistentry> + + </variablelist> + </sect3> </sect2> <sect2> @@ -605,8 +632,10 @@ postgres=# SELECT postgres_fdw_disconnect_all(); <para> <filename>postgres_fdw</filename> establishes a connection to a foreign server during the first query that uses a foreign table - associated with the foreign server. This connection is kept and - re-used for subsequent queries in the same session. However, if + associated with the foreign server. By default this connection + is kept and re-used for subsequent queries in the same session. + This behavior can be controlled using + <literal>keep_connections</literal> option for a foreign server. If multiple user identities (user mappings) are used to access the foreign server, a connection is established for each user mapping. </para> @@ -622,8 +651,10 @@ postgres=# SELECT postgres_fdw_disconnect_all(); <para> Once a connection to a foreign server has been established, - it's usually kept until the local or corresponding remote + it's by default kept until the local or corresponding remote session exits. To disconnect a connection explicitly, + <literal>keep_connections</literal> option for a foreign server + may be disabled, or <function>postgres_fdw_disconnect</function> and <function>postgres_fdw_disconnect_all</function> functions may be used. For example, these are useful to close |