On 27 March 2018 at 13:26, Alvaro Herrera <alvhe...@alvh.no-ip.org> wrote: > David Rowley wrote: > >> Anyway, the options are not zero for anyone who is strongly affected >> with no other workaround. They just need to disable parallel query, >> which to me seems fairly similar to the 8.4 release note's "the >> previous behavior can be restored by disabling enable_hashagg" > > synchronized_seqscans is another piece of precedent in the area, FWIW.
This is true. I guess the order of aggregation could be made more certain if we remove the cost based optimiser completely, and just rely on a syntax based optimiser. Unfortunately, even with that UPDATE will still reuse free space created by DELETE+VACUUM, so we'd need to get rid of VACUUM too. Of course, I'm not being serious, but I was just trying to show there's a lot more to be done if we want to make the aggregate input order deterministic without an ORDER BY in the aggregate function. -- David Rowley http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services