The code like this will eventually throw a timeout error, cause the stream is not consumed:
const client = createClient()
client.exec({ query: 'SELECT 42' })
Perhaps we can look at stream.readableEnded when we log an error in the connection layer, so it could be a hint to the user about dangling streams in their app.