Davlet Panech <dpanech@xxxxxxxxx> writes: > On 1/17/2018 5:57 PM, scott ribe wrote: >> It does seem awfully high, but... An update can involve a join across multiple tables. Or an update can run a trigger which can cascade. Either of those could result in an "accidental cross product" join, which can always blow up memory. > There must be a way to put an upper limit on memory even for such cases. > I was under the impression that parameters such as "work_mem" serve that > purpose, is that not the case? So an "accidental cross product" join's > memory usage is unbounded? It can't be... could somebody confirm this > please? A large join result could blow out memory on the client side, unless the client is careful to read it in segments, which most clients aren't. I expect the server to be smarter though. regards, tom lane