diff --git a/contrib/dblink/dblink.cpp b/contrib/dblink/dblink.cpp index a1795cb64..4678b81f1 100644 --- a/contrib/dblink/dblink.cpp +++ b/contrib/dblink/dblink.cpp @@ -827,6 +827,9 @@ Datum dblink_connect(PG_FUNCTION_ARGS) rconn->linker = olinker; createNewConnection(conname, rconn); } else { + if (PCONN->linker) { + PCONN->linker->finish(); + } PCONN->linker = olinker; } } else { @@ -844,6 +847,9 @@ Datum dblink_connect(PG_FUNCTION_ARGS) rconn->linker = plinker; createNewConnection(conname, rconn); } else { + if (PCONN->linker) { + PCONN->linker->finish(); + } PCONN->linker = plinker; } }