src/protocol/pool_process_query.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/protocol/pool_process_query.c b/src/protocol/pool_process_query.c index 4660266..6ba0c61 100644 --- a/src/protocol/pool_process_query.c +++ b/src/protocol/pool_process_query.c @@ -4815,8 +4815,17 @@ SELECT_RETRY: was_error = 1; if (!VALID_BACKEND(i)) break; - notice_backend_error(i, REQ_DETAIL_SWITCHOVER); - sleep(5); + if (CONNECTION(backend, i)->con_info->swallow_termination == 1) + { + ereport(FATAL, + (errmsg("connection to postmaster on DB node %d was lost due to pg_terminate_backend", i), + errdetail("pg_terminate_backend was called on the backend"))); + } + else + { + notice_backend_error(i, REQ_DETAIL_SWITCHOVER); + sleep(5); + } } /*