| From: | Aditya Toshniwal <aditya(dot)toshniwal(at)enterprisedb(dot)com> |
|---|---|
| To: | Dave Page <dpage(at)pgadmin(dot)org> |
| Cc: | pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org> |
| Subject: | Re: Regarding multiple result set in query tool |
| Date: | 2025-09-29 05:53:12 |
| Message-ID: | CAM9w-_ka4B7e9hQ1yz5kB3K4u0i1e-=-rHbfjTna7Me4okBU8w@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgadmin-hackers |
Hi Dave,
On Thu, Sep 25, 2025 at 7:55 PM Dave Page <dpage(at)pgadmin(dot)org> wrote:
>
>
> On Thu, 25 Sept 2025 at 14:44, Aditya Toshniwal <
> aditya(dot)toshniwal(at)enterprisedb(dot)com> wrote:
>
>> Hi Dave,
>>
>>>
>>> If pgAdmin were a single-user application, I'd agree - however it is not
>>> when running in server mode. Other users will not know what is going on if
>>> one user exhausts memory.
>>>
>> How about allowing multi result sets only for desktop app?
>>
>
> I *really* dislike that. We should support all features in both modes,
> except where it clearly doesn't make sense.
>
>
>> The problem with memory limits is - it's an extra overhead to keep
>> checking how much memory is consumed. A row size will depend on the number
>> of columns and data. If we have a predefined algorithm which will decide
>> the limits in a performant way is desirable.
>>
>
> Well we can take the extra cycles to compute actual memory usage, or we
> can just pick an arbitrary number of rows (which as you note, will depend
> on the schema and data). The former is clearly easier to tune - it could be
> an arbitrary limit in the config, or it could be computed based on machine
> resources and utilisation, whilst the latter is always going to be a guess.
> I'm not sure I see another way. Anyone else?
>
For the first approach - python provides a function which we can use. But
deciding the limit is something tricky. A user may still get out of memory
error with a limit set. It will all depend on what is running on his
system. Setting the limit itself is like playing a video game. For the row
count based limit, we already have a per page limit - and adding more such
configs will only add more confusion.
import sys
my_tuple = (1, 2, 'hello', 4.5)
memory_size = sys.getsizeof(my_tuple)
print(f"The memory size of the tuple is: {memory_size} bytes")
> --
> Dave Page
> pgAdmin: https://www.pgadmin.org
> PostgreSQL: https://www.postgresql.org
> pgEdge: https://www.pgedge.com
>
>
--
Thanks,
Aditya Toshniwal
pgAdmin Hacker | Sr. Staff SDE II | *enterprisedb.com*
<https://www.enterprisedb.com/>
"Don't Complain about Heat, Plant a TREE"
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Aditya Toshniwal | 2025-09-29 09:01:31 | Re: Regarding multiple result set in query tool |
| Previous Message | Khushboo Vashi | 2025-09-29 04:20:13 | Re: Translate |