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.94.2) (envelope-from ) id 1uIIC8-001krs-7w for pgsql-hackers@arkaria.postgresql.org; Fri, 23 May 2025 02:31:36 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1uIIC5-00Ckev-W1 for pgsql-hackers@arkaria.postgresql.org; Fri, 23 May 2025 02:31:33 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1uIIC5-00Cken-MN for pgsql-hackers@lists.postgresql.org; Fri, 23 May 2025 02:31:33 +0000 Received: from momjian.us ([72.94.173.45]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1uIIC3-000RV4-04 for pgsql-hackers@lists.postgresql.org; Fri, 23 May 2025 02:31:33 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=momjian.us; s=2025010100; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID: Subject:Cc:To:From:Date:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description; bh=FHQiAb/fTMKbzEboKqWBN2HaTWFNCVRYXddaqdtt64I=; b=TdQKw rXjZtXNp21pB5/a/IC4W17J9MkCdKRsIvOR7oMU3jtk0Vf9W9EzexvAS/loUJRDfAderOwcRQy7F0 /i4AJBHcGYuF+RkmnmIN2SJbkSk3PAsgR17xqqk3+vXiQ6w4mZ1u8R6DtPQZZGjES6f5mJlYoMEv0 EqJfuUwnp1d6tT4srWgu6OgjLTG7QO7bA2HVm9CvsWmZvs/tmdcQvVNVRIxrAvLCRsSr7sdxW+AiQ amfHL2+IFicFXryfxqclA3RgMNJlxtQPWUlcyL+lFkdBFwhiXRfqelEWKyCvOJWvZ+vco1iZOwtAj wJSq4dSI9GCEEAt29IYu4fd0jXTMg==; Received: from bruce by momjian.us with local (Exim 4.96) (envelope-from ) id 1uIIC1-00HHzg-2V; Thu, 22 May 2025 22:31:29 -0400 Date: Thu, 22 May 2025 22:31:29 -0400 From: Bruce Momjian To: Peter Geoghegan Cc: PostgreSQL-development Subject: Re: PG 18 release notes draft committed Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Wed, May 21, 2025 at 05:57:07PM -0400, Peter Geoghegan wrote: > For example, TimescaleDB offers Loose index scan as part of the > TimescaleDB Postgres extension, which (for whatever reason) they chose > to call skip scan: > > https://www.timescale.com/blog/how-we-made-distinct-queries-up-to-8000x-faster-on-postgresql > > Note that loose index scan can only be used with certain kinds of > queries involving DISTINCT or GROUP BY. Whereas skip scan (in Oracle > and now in Postgres) can work with any query that omits one or more > "=" conditions on a prefix index column from a multicolumn index (when > a later index column has some condition that can be used by the scan) > -- it doesn't have to involve aggregation. I believe that describing > the feature along these lines will make it less likely that users will > be confused by the apparent naming conflict. Yes, I understand this "loose index scan" feature as preventing DISTINCT from traversing all matching indexed values, and then removing duplicates. Rather it stops after finding the first match for each distinct value. -- Bruce Momjian https://momjian.us EDB https://enterprisedb.com Do not let urgent matters crowd out time for investment in the future.