diff --git a/doc/src/sgml/config.sgml b/doc/src/sgml/config.sgml
index 692d8a2a17..fb400a3a91 100644
--- a/doc/src/sgml/config.sgml
+++ b/doc/src/sgml/config.sgml
@@ -1035,6 +1035,25 @@ include_dir 'conf.d'
+
+ remote_servers_connection_check_interval (integer)
+
+ remote_servers_connection_check_interval configuration parameter
+
+
+
+
+ Sets the time interval between optional checks that the remote servers
+ are still alive. If this parameter is set to a valid value, registered
+ callback functions are executed at the specified time interval.
+ If your FDW extension does not implement a callback function, nothing
+ happens after the specified amount of time. If the value is specified
+ without units, it is taken as milliseconds. The default value is
+ 0, this means the feature is disabled.
+
+
+
+
diff --git a/doc/src/sgml/fdwhandler.sgml b/doc/src/sgml/fdwhandler.sgml
index dbf5dd3d15..3b75a77067 100644
--- a/doc/src/sgml/fdwhandler.sgml
+++ b/doc/src/sgml/fdwhandler.sgml
@@ -2136,4 +2136,40 @@ GetForeignServerByName(const char *name, bool missing_ok);
+
+ Checking the Health of Remote Servers via Foreign Data Wrapper
+
+
+ For verifying the health of remote servers, callback functions can be
+ registered that runs periodically. The time interval is controlled by
+ .
+ The API for registering functions is:
+
+CheckingRemoteServersCallbackItem *
+RegisterCheckingRemoteServersCallback(CheckingRemoteServersCallback callback, void *arg);
+
+ Only functions that return ForeignServer* can be
+ registered as callback functions. Please set to void* arg
+ if you want to pass an argument. The returning value must be set as the argument
+ of following enable and disable fucntions.
+ If you have problems with the health check results and want to abort the transaction,
+ please return the pointer of downed server as ForeignServer*.
+
+
+ Note that starting or stopping the periodic execution is FDW's responsibility.
+ If you want to start verification, the following function must be performed
+ after registering callback functions:
+
+int
+TryEnableRemoteServerCheckingTimeout(CheckingRemoteServersCallbackItem *item)
+
+ If you want to stop, the following function must be performed:
+
+int
+TryDisableRemoteServerCheckingTimeout(CheckingRemoteServersCallbackItem *item)
+
+
+
+
+