From: | Radoslav Nedyalkov <rnedyalkov(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-general <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: how to limit statement memory allocation |
Date: | 2021-03-09 16:32:46 |
Message-ID: | CANhtRia8yRBMNOpPGoTaOYDQeyUJahd5+LVAsHY_TJyHTbUpxQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On Tue, Mar 9, 2021 at 6:03 PM Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Radoslav Nedyalkov <rnedyalkov(at)gmail(dot)com> writes:
> > Occasionally we get bad queries on our db that consume a lot of memory.
> > These typically are full joins by mistake or just too large result sets.
> > My understanding is these should go to a temp file but apparently memory
> > allocation is preferred.
>
> Perhaps the accumulation is happening on the client side? libpq doesn't
> have any provision for spilling a result set to disk.
>
> If that's it, you could consider revising your application to read results
> row-at-a-time, although that might require a good deal of effort.
>
> https://www.postgresql.org/docs/current/libpq-single-row-mode.html
>
> regards, tom lane
>
Ah, I named it result set wrongly perhaps.
These are queries , part of a larger ETL function or statement which at the
end just write to a table.
The huge join is an intermediate step.
So I'm still wondering.
Thanks and regards,
Rado
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2021-03-09 16:53:53 | Re: how to limit statement memory allocation |
Previous Message | Andrus | 2021-03-09 16:24:59 | Re: SV: Log files polluted with permission denied error messages after every 10 seconds |