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 1vudLK-00GkAi-2C for pgsql-performance@arkaria.postgresql.org; Mon, 23 Feb 2026 21:19:50 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vudLJ-00FSMs-1d for pgsql-performance@arkaria.postgresql.org; Mon, 23 Feb 2026 21:19:49 +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 1vudLJ-00FSMk-0F for pgsql-performance@lists.postgresql.org; Mon, 23 Feb 2026 21:19:49 +0000 Received: from mout.gmx.net ([212.227.15.15]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1vudLF-00000000rBF-3las for pgsql-performance@postgresql.org; Mon, 23 Feb 2026 21:19:48 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1771881584; x=1772486384; i=atiware@gmx.net; bh=49x+OsDgrUgOTwSXgCypwH3Sjfg7dakm9/T1pMv9lSo=; h=X-UI-Sender-Class:Content-Type:Mime-Version:Subject:From: In-Reply-To:Date:Cc:Content-Transfer-Encoding:Message-Id: References:To:cc:content-transfer-encoding:content-type:date:from: message-id:mime-version:reply-to:subject:to; b=VG6dKtVM0EMFZT87bWUPw/0ROS3WmCZ9xOfMREnzw1iyFHoPIl2/pffvv+gXxjkC /rf95UqVLGe0RM9jIx9CWmQa6shwS2cbQEGSu+QpEdP84jVX5Zpbeb4bWa3ThWCUB WXFhE3jJriT+MPKIGW+0m+OKbAt9v0qc5lmaYbBAuTsfp/Md6R5ll7ggUo5IgqbnC XJ7pk726GDb+XvWrL5/fyRpibbIbgSUoDbfZfH/WsBoduoY9XqsLBRetrcgdQP1o0 s+dvJQwY++wFcjFFvGTo5PDS6N8pF5D440WGRmVyTqDijO4TKX9reLNzALCX3BPYb Ak+hPDS3d+Vck8YQ4Q== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from smtpclient.apple ([144.2.66.138]) by mail.gmx.net (mrgmx005 [212.227.17.190]) with ESMTPSA (Nemesis) id 1M72oH-1vnmeN01wF-00GwgV; Mon, 23 Feb 2026 22:19:44 +0100 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.400.21\)) Subject: Re: unstable query plan on pg 16,17,18 From: Attila Soki In-Reply-To: Date: Mon, 23 Feb 2026 22:19:33 +0100 Cc: pgsql-performance@postgresql.org Content-Transfer-Encoding: quoted-printable Message-Id: <68CC1E87-6935-4CE9-8D69-5335860C70E8@gmx.net> References: <1695A676-062B-47C5-B302-91E2357DC874@gmx.net> To: Laurenz Albe X-Mailer: Apple Mail (2.3864.400.21) X-Provags-ID: V03:K1:nh0Ug7HFrNnCgTpznPc0Oe2nPblAZHDsHVYq04LtPkoWbKrAhk4 r5Z7jXMNQ0ZIkBv+gCeHXT03fofuGsoztvd2zXClacw+00Ao1oTdOaQK256rIpc6+PRUZGB vl7SEf2lU+4EX54Qprse7bj2Pb0o/km+TGIcCidnNZ3K4qmabW7IzfSTTkc9Ubdq/euPlWC +9IeCc5ttQODFPdMOmvzg== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:OVv7MhW/dyE=;DUKi7oylynj6W5sz642Q8qszJVm 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 Sr1re7I0= List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk > On 23 Feb 2026, at 21:54, Laurenz Albe = wrote: >>> The difference in the plans is under the "Subquery Scan on odg", = starting with >>> plan node 50 (everything under the "Sort"). I suspect that the = mis-estimate >>> that is at the root of the problem is here: >>>=20 >>> -> Index Scan using table_k_late_spec_dp_end_dat_key on = schema1.table_k kal (... rows=3D196053 ...) (... rows=3D471.00 ...) >>> Index Cond: (kal.dp_end_dat < ('now'::cstring)::date) >>> Index Searches: 1 >>> Buffers: shared hit=3D230 read=3D49 >>> I/O Timings: shared read=3D0.142 >>>=20 >>> PostgreSQL overestimates the row count by a factor of over 400. >>> Try to fix that estimate and see if that gets PostgreSQL to do the = right thing. >>>=20 >>> Perhaps a simple ANALYZE on the table can do the trick. >>=20 >>=20 >> In the examples I used table_k to flip the plan with >> vacuum -Upostgres -vZ -t schema1.tbl_used_in_query db1 >> in the explain output schema1.tbl_used_in_query is table_k >=20 > I cannot understand that. sorry for being unclear. To "switch" between the ok and wrong plans I execute vacuumdb -Upostgres -vZ -t schema1.table_k db1 multiple times (1x-3x) until the plan flips. So I thought the table = should already have been analyzed. In my first email I called table_k as the "tbl_used_in_query" or have I misunderstood that with the analyze? Thanks Regards, Attila=