On Sat, Dec 04, 2021 at 05:32:10PM +0000, l...@laurent-hasson.com wrote: > I have a data warehouse with a fairly complex ETL process that has been > running for years now across PG 9.6, 11.2 and now 13.4 for the past couple of > months. I have been getting the error "An I/O error occurred while sending to > the backend" quite often under load in 13.4 which I never used to get on > 11.2. I have applied some tricks, particularly with the socketTimeout JDBC > configuration. > > So my first question is whether anyone has any idea why this is happening? My > hardware and general PG configuration have not changed between 11.2 and 13.4 > and I NEVER experienced this on 11.2 in about 2y of production. > > Second, I have one stored procedure that takes a very long time to run (40mn > more or less), so obviously, I'd need to set socketTimeout to something like > 1h in order to call it and not timeout. That doesn't seem reasonable?
Is the DB server local or remote (TCP/IP) to the client? Could you collect the corresponding postgres query logs when this happens ? It'd be nice to see a network trace for this too. Using tcpdump or wireshark. Preferably from the client side. FWIW, I suspect the JDBC socketTimeout is a bad workaround. -- Justin