On Sun, Sep 15, 2019 at 11:14 AM Tom Lane <t...@sss.pgh.pa.us> wrote:
> Jeff Janes <jeff.ja...@gmail.com> writes: > > When closing the local session which had used postgres_fdw over an ssl > > connection, I get log spam on the foreign server saying: > > LOG: could not receive data from client: Connection reset by peer > > It is easy to reproduce, but you must be using ssl to do so. > > On searching, I see that a lot of people have run into this issue, with > > considerable confusion, but as far as I can see it has never been > diagnosed. > > In > > https://www.postgresql.org/message-id/flat/3DPLMQIC.YU6IFMLY.3PLOWL6W%40FQT5M7HS.IFBAANAE.A7GUPCPM > > Thanks, I had not spotted that one, I guess because the log message itself was not in the subject so it ranked lower. > we'd concluded that the issue is probably that postgres_fdw has no > logic to shut down its external connections when the session closes. > It's not very clear why the SSL dependency, but we speculated that > adding an on_proc_exit callback to close the connection(s) would help. > > It is easy to reproduce the ssl dependency without any FDW, just by doing a kill -9 on psql. Apparently the backend process for unencrypted connections are happy to be ghosted, while ssl ones are not; which seems like an odd distinction to make. So should this be addressed on both sides (the server not whining, and the client doing the on_proc_exit anyway?). I can take a stab at the client side one, but I'm over my head on the ssl connection handling logic on the server side. Cheers, Jeff