pgjdbc/pgjdbc GitHub issues and pull requests (mirror)  
help / color / mirror / Atom feed
From: vlsi (@vlsi) <[email protected]>
To: pgjdbc/pgjdbc <[email protected]>
Subject: Re: [pgjdbc/pgjdbc] issue #3483: Support adaptive fetching without enforcing memory limits, and/or have a separate buffer size for it
Date: Fri, 17 Jan 2025 09:54:54 +0000
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>

> but then the application starts filling out a fat JSON blob in every newer row

Even a single json can exceed the limits, so I am not sure we can do much from the client side to make it 100% safe.
I would be nice if the backend could support "fetch at most N rows and stop the fetch after M bytes sent".

I wonder if it can come as a connection-level property like `suspend_portals_after_sending=50MiB`, so it would automatically suspend portals as it produces the given number of bytes.

Then it would reduce the chances for "out of memory" in case the application uses row-limited fetch. For instance, currently we issue `fetch N` request, and we don't care how many rows it produces. We wait for `PortalSuspended` vs `CommandComplete` messages to tell if there's anything left.

view thread (20+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: github://pgjdbc/pgjdbc
  Cc: [email protected], [email protected]
  Subject: Re: [pgjdbc/pgjdbc] issue #3483: Support adaptive fetching without enforcing memory limits, and/or have a separate buffer size for it
  In-Reply-To: <<[email protected]>>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox