Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vuSS4-006IfW-18 for pgsql-performance@arkaria.postgresql.org; Mon, 23 Feb 2026 09:42:04 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vuSS3-00CfBW-0o for pgsql-performance@arkaria.postgresql.org; Mon, 23 Feb 2026 09:42:03 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vuSS2-00CfBO-2z for pgsql-performance@lists.postgresql.org; Mon, 23 Feb 2026 09:42:02 +0000 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1vuSRz-00000000mEZ-3Dsb for pgsql-performance@postgresql.org; Mon, 23 Feb 2026 09:42:01 +0000 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-48334ee0aeaso29834575e9.1 for ; Mon, 23 Feb 2026 01:42:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cybertec.at; s=google; t=1771839719; x=1772444519; darn=postgresql.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:to:from:subject:message-id:from:to:cc:subject:date :message-id:reply-to; bh=JSwP4VOir878NkH94PQABe8nw6pleEWq6tjhYCUg7QM=; b=VnaNCbq+X1Xs79vM/JnFK8r0EyQ/DBRanpi7HZBGadlOkCtkJw6zBPULbpsqL2EwCM g3F4zCbfFG395WuumWLo1fhjB4C1cYHYaLgdW+6eF5zp2Q/Ach4RP4dwxhvzEooVjNAN 8Rxq2SHfSvTStSfvfwrJINnNFJ8QXc0iSEUO3273mYsfW7AEYm2Z9D94PUDrXg9ElmVo L2qLaY68otROgTMXaNCo1mMB+kWBm2Mq2h2fx6FYGmkA6aXbvkdD0mUi1fBLHHRLzX7z Ls5VzP2YG//yU+JPxnI47kN0OrYit6JGJEuD71Otm1PdTRSeQCOCbU+uq/kE1oj2Actb XUuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1771839719; x=1772444519; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:to:from:subject:message-id:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=JSwP4VOir878NkH94PQABe8nw6pleEWq6tjhYCUg7QM=; b=G7LPC5umaQLtYdVtTfjevEIRToBAcD1mq0sYisVa39J5udOUVHNOnkrycUNyeV3+yC lX81dVGKD8abxA6To34ATXpSk/1QeTA1KOfFFZbayjAbd+Ka9o6fZ7Y4iReuAPk64DLi fpQG6u5jDrSxiJ5MDxymGQoNga3ABdmuqdRjflDtFvd/Ah6kneBM6wqCaJupbXfCPVNl MJxM8/EKtKLW3Wxlko4inoDfFfwM6nhkjPoKYRsK1j+3iUnSexp9NHMgYOUKY1beStTj vi791TI8mQN3vsutvv42q+W7Dq3GOR6UvZ6nak/e1InxkhdGR00TlJV5pfzLUsAaMn1r PEHA== X-Forwarded-Encrypted: i=1; AJvYcCWFO6W4iDEu6nYbby3FMBi3UY9kto88peQdplduRSnIvoctc52JSgkRYso8Pw9N7i5tgrX8yRHekSDYzp0J0Oe2aA==@postgresql.org X-Gm-Message-State: AOJu0YwktOK0C1oFzT9pXgulbGwj7mzXMLVnH80NtQVmWedxSfBjotFD uyA96vRTFuNy0D3y4bbRBGa71dc7ccVxDUNdOlHX0umh5lYXGueaE7FN+dfy6HPiRXlV1HXsvRY 9h3hH9zA4awQI X-Gm-Gg: AZuq6aI4R+AyUhq3mfPQTL5wsLVCUIpijCgCj8ssUsz+WlBGkaOM0HZ9+EQjbqYjrJ5 pLnqJcOqMvAevkraMlwRtvUREOkSLkvlTni6VcVOhNMrlJDh6yxeF6il4T/7znpkjF1bKN3vit1 DmJG4SgLdjB2tB9l56rGmtYd8QaTQzNbxAku58MxKmH5soBTpmxNoDRUJhOG9+7kCYKBAxOoFsS q03pwo2fjCMdcEqLSWm+QIAmhB6L7TkH2VW2/qce2jx7NO8e2ywi8ZnOjKkkEoL7aCzb3/0/lh0 6dG7HFugKsTFUKp+FOLt9AmAqHfu6n4pY693h3oj3T+9N0siKNq3C2/Ey2AYbCQc4Qa8R/nazCV YGcMGysuiQfALbWv215/NJjOX/N9Xp3X5xNRTNNVp0EG7VhKMkE1H86vzyRCer3Qs6OzBC2TO4f k8JaPsNH/Mauo466oJjjtBgKgR07/A29JG+A2BIeyXR29lFS8RQSNZE5VRxiJp50hDxCikN7DDT rk4MmpIiwLQz0r+cgPphhn+IBQ/9O/qBJumCfT9Vdgt0dMoHVmh2J8= X-Received: by 2002:a05:600c:8b31:b0:483:2c98:435e with SMTP id 5b1f17b1804b1-483a95ee684mr132314515e9.34.1771839719204; Mon, 23 Feb 2026 01:41:59 -0800 (PST) Received: from laurenz.albe-K4N0CV00F97414D (210.144.128.164.static.wline.lns.ent.cust.swisscom.ch. [164.128.144.210]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-483a9b66932sm192671425e9.1.2026.02.23.01.41.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Feb 2026 01:41:58 -0800 (PST) Message-ID: Subject: Re: unstable query plan on pg 16,17,18 From: Laurenz Albe To: Attila Soki , pgsql-performance@postgresql.org Date: Mon, 23 Feb 2026 10:41:57 +0100 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.58.3 (3.58.3-1.fc43) MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Mon, 2026-02-23 at 10:37 +0100, Attila Soki wrote: > When upgrading from PostgreSQL 14.4, I noticed that one of my somewhat co= mplex > analytical queries sometimes gets an inefficient plan under PostgreSQL 16= , 17, and 18. > Under 14.4, the query runs with a stable plan and completes in 19 to 22 s= econds. > In newer versions, the plan seems to be unstable, sometimes the query com= pletes > in 17 to 20 seconds, sometimes it runs for 5 to 18 minutes with the ineff= icient plan. > This also happens even if the data is not significantly changed. This is very likely owing to a bad estimate. Could you turn on "track_io_timing" and send us the EXPLAIN (ANALYZE, BUFFE= RS) output for both the good and the bad plan? Yours, Laurenz Albe