gzh <gzhco...@126.com> writes: > In the Release Notes for PostgreSQL 12.14, we saw the following change: > https://www.postgresql.org/docs/release/12.14/
>> Add recursion and looping defenses in subquery pullup (Tom Lane) >> A contrived query can result in deep recursion and unreasonable amounts of >> time spent trying to flatten subqueries. A proper fix for that seems unduly >> invasive for a back-patch, but we can at least add stack depth checks and an >> interrupt check to allow the query to be cancelled. > Our understanding is that this change will cause some complex SQL statements > that were previously not reporting errors to report errors in the new > version. The key word there is "contrived". You are not going to hit this limit without intentionally trying. The example that led to adding this check was a synthetic query with 10000 UNION ALL branches: https://www.postgresql.org/message-id/flat/703c09a2-08f3-d2ec-b33d-dbecd62428b8%40postgrespro.ru Also notice that the query misbehaved before this patch, too, by consuming excessive RAM. regards, tom lane