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 1w8T3b-000Yym-0S for pgsql-hackers@arkaria.postgresql.org; Fri, 03 Apr 2026 01:10:44 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w8T3Z-0099eo-2b for pgsql-hackers@arkaria.postgresql.org; Fri, 03 Apr 2026 01:10:42 +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.96) (envelope-from ) id 1w8T3Z-0099ef-1H for pgsql-hackers@lists.postgresql.org; Fri, 03 Apr 2026 01:10:41 +0000 Received: from mail-japanwestazon11020113.outbound.protection.outlook.com ([52.101.228.113] helo=OS0P286CU011.outbound.protection.outlook.com) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1w8T3X-00000000IJZ-1iX7 for pgsql-hackers@postgresql.org; Fri, 03 Apr 2026 01:10:41 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CaKU4b7OhV9JaRhMBuqg98aIlBRZH1GzjFTdod5CR/m1x1fDsMqRv8lLv/mCmCUmx9LgfaPXkRu0VzWgeU/OCGPs5HFBL5knlMZMzuqplETB9u+pM+/zhm2aZhLXxoCHYsg2LZDAjY8npAFdW6K4Bwi1B41YKn8+fSK3waKxaqYms3eOZi1U9gmj5AwECnEVOXNkwJ0uNX6HwwWgx9nvIzjptaMpECpj1zPv0cD9e2K56FBC2tfKNCjjpKLKU6qcncO9GwD2rieqg42+4c+IKBVn24zuCGvdTeLo0YkfQ2NlWgvLFCDQOq0tu0kDI9A53zEVTH0T5SxRceQmGlPj7A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=JTcTgYeEj3umLy+0ve1gFvxJfXwUMnQn46hbd0pI3lY=; b=AtytByK43v3xTc52g91+W36QcqLtFHlJU9rT3eXk+ua8c+FoTaPxru//alSshyFPLmZMM0oaqdN++3HIJMQVjZHVxtN1QhbGZVINYo2IZRsGcpmkox5VpIQ2dBZ4oLjli1eE9TFtKckH0aec02HTG2o7o5s+/P94yoyMPzQlFTAup6wxADUAyCn9CMZgAJJAkKRUyav3D+CKWPvPplO+o7h6KQZSfPsDzSmj7f/Vb4mQcrC6ric4R2djnez5g9YJQGOIYncg0LbKkQUcgpcAYtuiXTyK257w1j1lazNlynS+JoIPqiDlgBN78lrHrxnZaVdpSzWhuNxHV82oRzZojg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sraoss.co.jp; dmarc=pass action=none header.from=sraoss.co.jp; dkim=pass header.d=sraoss.co.jp; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sraoss.co.jp; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JTcTgYeEj3umLy+0ve1gFvxJfXwUMnQn46hbd0pI3lY=; b=TK8iZEOFaNGIsO6nx8AD3OEgfFBers1p+8kyHO9eifaoCt7lc4qV1XkcvdhXABYMX3nBAWflq6WstnXSHYsrUAM4FJhF5pxdnBDBhWDqEURhwnkPCneU5KHcyT2j8fuBNUwjxcjA1ioAHgRogja2SmAjVR9Nh+0lQ8IEY/PXSqHRwnBX3ZAdoR5F+vhygeiBxvUNPxaXNT/niNTAO5YaJqVt07eHsolJWYp+yKltZM2u1r+fnfbYT4eIfMm/lr8zH1m3CG7kG3ZghuPVHXnv0fKbino6B3RZCL2SkNYffxZwmnA/p2Pz7TNSorR+h01XpfSg1GjSgMtKtX2vCiSX8A== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=sraoss.co.jp; Received: from OSZP286MB2160.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:189::12) by TYCP286MB1947.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:104::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.19; Fri, 3 Apr 2026 01:10:33 +0000 Received: from OSZP286MB2160.JPNP286.PROD.OUTLOOK.COM ([fe80::406d:15ce:1e21:6f81]) by OSZP286MB2160.JPNP286.PROD.OUTLOOK.COM ([fe80::406d:15ce:1e21:6f81%4]) with mapi id 15.20.9769.020; Fri, 3 Apr 2026 01:10:33 +0000 Date: Fri, 3 Apr 2026 10:10:32 +0900 From: Yugo Nagata To: Dean Rasheed Cc: Andres Freund , pgsql-hackers@postgresql.org Subject: Re: Allow to collect statistics on virtual generated columns Message-Id: <20260403101032.49bc223b0974c9dd3b1de9a4@sraoss.co.jp> In-Reply-To: References: <20250422181006.dd6f9d1d81299f5b2ad55e1a@sraoss.co.jp> <20250902163341.c174d0e83eedfc54d68b8e9c@sraoss.co.jp> <20251231194455.5975fda68ed8e941e4afb805@sraoss.co.jp> <20260324195727.43416b69c71b5f63eed3b4bc@sraoss.co.jp> <20260325130127.7bc85919861f494ce7c332a5@sraoss.co.jp> <20260327000931.d2303c198c7c9445e90aeab7@sraoss.co.jp> <20260327021807.3ae563de0a288086b98755fb@sraoss.co.jp> <20260327143511.d84a76decfcbd6b80bdf56ed@sraoss.co.jp> <20260327164359.ee19c1e71c80163517a1051e@sraoss.co.jp> <20260331233517.05fbaa30b1b0b96d16b0d556@sraoss.co.jp> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-ClientProxiedBy: TY4PR01CA0086.jpnprd01.prod.outlook.com (2603:1096:405:37d::14) To OSZP286MB2160.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:189::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OSZP286MB2160:EE_|TYCP286MB1947:EE_ X-MS-Office365-Filtering-Correlation-Id: 5024843c-de87-4fbd-b8cd-08de911dcdf2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|10070799003|376014|366016|1800799024|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: TWA2QN91q8hR7gU8IQSoVg4NXjzGp3DrYtzN/YGou5uqTLIIRc6cXCocCbbLThGUoi5G2PZLG+VJBRLYqHlIg3LzBNUipAwcQDNS/8uz7luIiYytEwaMNwV1WhOOMZujzS2LztoZS9jnHp+65GJod0epE8zNQSlZhaE1+T7+qB6BlV9SQc6vUpEB8hcbhB6Dr4vNreTpT9otfzxm4U/bg1KuA4770I7TAba22OEdGhwtrJyKsdInrRS9Gsu669WYRJNayhOsoqdLMDNOyFY58tDko8npJEH86egMbM1/N/UZm8VsUcreq/5oPU3R9yfrW/n6KQPvvqg52QWW6axd/KYRZUXGlVfE2jDBvwZut8xAzws8m24q34ApDYr/bHQgy8uxTjilEO0kmBxPf3d+AZui1ood+wyXG2jQNhKqyuB8Yra6GBh5MUuoW1QMtXaQ9p5m1MSR7kAiR95R0r7E8zqVWfxWLcvQp7Ror2fx29sgVxQql54ct2YLmB2q+Uw08LvCZ+bOYoqcHpw8F+4+1N7eBaN624qVE0PD3NdeiA1AYNYuWOIJOqK+AHLaQuOsr8K9q+Ctm/bTXyzgVb/fWTS4oTmqC6PR+sdINzOsv3yQ1g7rjVxp4YsDb1Dk9A/3Ao1tlhx3f6TJRN5pE9t5sesJtV9ZwopRXNRRKQ5mRYuM7vRhd3aZbnHn3yUl+b+L/6rOOo+QxOzlmbDB3B/ppxMXlxQ2yStx3rMgm8+fk6U= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OSZP286MB2160.JPNP286.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(10070799003)(376014)(366016)(1800799024)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?7BIzjoXa9qy+g/evH6XlAweC1G8k7Upp6WKAmntTPMQyW0B65g0CaTAGfK3S?= =?us-ascii?Q?EPe88IJa7NI538zWyDMIq7nODK/0zeeBEbtVdUEG7EUlsDjKvNDLZT2uD+fS?= =?us-ascii?Q?Ywvpn44NYcZw+GfrFVM8cFo9ByU/K4fagdNbw68qmlc6RsrAXnJbhsmhcO06?= =?us-ascii?Q?SO+yLqA8Fn+SvojPuE6B7YIPeoo9/gnWdZrB4HdSvw8n6gviZRQdLIyytlcA?= =?us-ascii?Q?vnIK7DUwF0z4BxMmdmMSS8XlbfFe05bQifbtoan9DTKgv2HPr/D0SGC6R94f?= =?us-ascii?Q?9REccx+gW9A+vtpXHcOa1WjyfLVVDHrxlVjKt9z4BZnk6WTyL8RXpelMzqxe?= =?us-ascii?Q?ecRD+CRtQuRrxnQ+Hoe7QmRVT3OvjitMNJQhuH25mwfRNDlM2hlvWKWhNKVC?= =?us-ascii?Q?Gp6lOn5c1/QBoU5bNpOXLOLh5bllM9wig6fSonJuT539fLR97KtZ3FUera4/?= =?us-ascii?Q?dFdGQjIJwbNvR4n92F/giotgvGLrg88V5H4TJk81P5nPeUESFF02Ez0aFwKE?= =?us-ascii?Q?ytxQWzj/4r8mxvCzOgPbBHwTkOkWM8E1vqU7akJj4TwJ3dxEdVaWqM+h/tXy?= =?us-ascii?Q?c2nt+uBAiNCxBeWd67dkjYXpbPCyiV36jW26dZmmgxaow6y76zU1emLLRAXf?= =?us-ascii?Q?3QAUS+b8jsvwhsYiZuLNgNOQi6our8MOz/xTIVhyQRZgORMD0679sHwglISz?= =?us-ascii?Q?DRYyKORD1fd/BEnFgn8Cmc3jJ7cO+FnaI8kDVNp7UoPj+bhcb26lDP++IRHu?= =?us-ascii?Q?FjT4WVYGD/DqLhNl7Ag3kJfF7DmQY37UlwiJmqtsPDPi3cfVkE8EJjrKEbJi?= =?us-ascii?Q?lt3urmmK65E+T0FfifBkLJVBlVefgK7/E71Q+DN19rm4Y2x9N/ZzJ9gsShoC?= =?us-ascii?Q?/pMObl/lYhW3wAHLA8e9ypXGoU3Sw8bmosEXhefZ/hdwWyPVQWJRLw/fJZOX?= =?us-ascii?Q?KGzhdV8Lv97SwhXkb/JWLbaQGkbPbUiLQ31P0mxj4RJkrA++p1wltGzwryjh?= =?us-ascii?Q?vdTrDWzJQ2ZbU+6G3J4WCy6lH8UvtZmR08eh397jfkVLjRBitowlhkbKfI1W?= =?us-ascii?Q?JNVSQZUaVRiFHFCjqMxRqrA5sw7tXIjXAJLSKHickVWb3iHd38CqktH/99GZ?= =?us-ascii?Q?6/Tjyd1/+sVffM5zBfUxnP0iu0jpP0PDEu/JqpdgIOqJGZx/8PSo+tX4s1bp?= =?us-ascii?Q?5SaH+aN0rzsmzgJgAsVrDruhWjAX2n2cD3Nop0dfx36DhFz9QQ9PSq99Uydz?= =?us-ascii?Q?eioUJ7FKSqEE6Je89oJExGSzX7kRI3td40xTlYYYgwjX0B2I8aOw7p1bqd7L?= =?us-ascii?Q?OJ5Pil7UYcIc//9zGWi8kVZ+LVVnT6N9OS1NgXUXa+2zM2QuiMAVyP1wnoML?= =?us-ascii?Q?EmTr318gGFEdT1ExO3G+RIHBJutc3K6fcdzRfxoo3OUc/jQgMQB4rrxfwll+?= =?us-ascii?Q?sVBG9nRNze95NTmqVAAYaZQHoUgUzGVF3kzLwv++25o3A7ALEDXfc7Yw+HUW?= =?us-ascii?Q?S7Rdvbeswz7c61UDQFxTljRgv4XiO/gVtte5rqybWnb9vpFfCaP0Y1n/IEGW?= =?us-ascii?Q?NpMsJfao4o7H/x97M1SLmQV0qwBFeyZqw/n0zKbfWqZlQCH8xWoOvzBnMoyf?= =?us-ascii?Q?V+O4AQiup1ctGO9JJ7FGMvXcfjv4POiFu5MfalKxvkLDSNUpJH4KF8x/L8nT?= =?us-ascii?Q?juPU8Z+yLAE7kt3irEEOw+gSlrONWH40xd2D8mE99jjdbXNNKLu18YVaJnVQ?= =?us-ascii?Q?RRFC2PhgLwfe+J4z5iVqAApvkP3XAhEyhMybGK09NL3UMp9GKXKXNEGctHvx?= X-MS-Exchange-AntiSpam-MessageData-1: K4SfXxKwD1+yWg== X-OriginatorOrg: sraoss.co.jp X-MS-Exchange-CrossTenant-Network-Message-Id: 5024843c-de87-4fbd-b8cd-08de911dcdf2 X-MS-Exchange-CrossTenant-AuthSource: OSZP286MB2160.JPNP286.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2026 01:10:32.9751 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 75db6c32-352e-4063-ae79-cafb8623f6db X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: vWw91kLPzEGoyIqJM7x5SqFGRgy/NfIQT6tkAlHZvgKVEH4mClCiWeIvyATvxDHRbSPmselOdioo+PNe2+Un1g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCP286MB1947 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Wed, 1 Apr 2026 17:12:38 +0100 Dean Rasheed wrote: > On Tue, 31 Mar 2026 at 15:35, Yugo Nagata wrote: > > > > Thank you for updating the patch. I am fine with that. > > > > One concern is that users might interpret "stored" as referring to > > "stored generated columns", rather than including regular columns, > > Yeah, possibly. I changed "stored" to "non-virtual", which should > reduce the chances of that particular confusion. > > > Also, the meaning of "automatically" might be a bit unclear, so we > > could clarify it by adding "without defining extended statistics." > > > > Defining extended statistics on a single stored > > column is not supported or necessary, because statistics are built > > automatically on such columns without defining extended statistics. > > OK, pushed that way. Thank you! > > I also noticed that a few places in CreateStatistics() could use the > variable "numcols" instead of "list_length(stmt->exprs)", so I changed > that. > > I decided to include the change to the error message discussed in [1], > since there seemed to be a consensus there, except that I think it > also needs to make it clear that it refers only to non-virtual > columns. > > In addition, there was another nearby error message which was no > longer quite right for statistics on virtual generated columns, and I > changed the order of checks, since that allowed the "if" statements to > be simplified a bit. I reviewed the commit, and it looks good to me. Thanks again. Regards, Yugo Nagata -- Yugo Nagata