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 1wMkNc-000JSD-1P for pgsql-hackers@arkaria.postgresql.org; Tue, 12 May 2026 10:30:24 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wMkNb-004JOU-0G for pgsql-hackers@arkaria.postgresql.org; Tue, 12 May 2026 10:30:23 +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 1wMkNa-004JOM-2L for pgsql-hackers@lists.postgresql.org; Tue, 12 May 2026 10:30:22 +0000 Received: from mail-japanwestazlp170100003.outbound.protection.outlook.com ([2a01:111:f403:c407::3] 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 1wMkNY-00000000CV5-1bDf for pgsql-hackers@lists.postgresql.org; Tue, 12 May 2026 10:30:22 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZeIbTiBWdstDlsiMDQCG0sYGaa2xBWXx3eRbrSP4r0NzIZQI9zJoeErVDUeLb3Pqd5kwWldsqei4qX/ITxY8CWXBHkWlvWqMdEwjlUNsSJ6W29sSgc1rcV8W/4x+AjKKFWxEDN6p+KWt1q7qOZarPc/MYVqL4XiVAlUlimjSOSRjS559+l+jw58jHizCRNw94nrBj4WjLq3YDaI2xBsRneWIb0oXE6qThruD60vnYAFXTtqk6k8ZDJ1XhrwyOD3gdyHWRAFmhqHntsef7VwLRivmB0aWKv4ELPJ7YF/jODC3pd7uzvQuYfnbxFBEDvMvjpKtmF6INCxHFEcJuOU9kA== 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=9yfl9lQ/5rZu18+4SmT6pkW7Hn5bp4Kl8Fm4PguIJ5I=; b=PJVQymNngBVIDC2oSrRxO5U6ibERXXNvmcfIPdcKstx1pTwCyBymmFnQf8lG/2wjSrqWfwBIq6o9/9Z1sOYSBAL3MLB3QVZLqLjZe9B2jACBQbw5/CeOVsT6QsVGqUgsu/bRu4V7hmRfmhHcX+NAT1C9j4yGmnt7xNXxYWFissGoBurzw7lUMHvecplmXErj8kA7Un/xyqsgCSeSGYjlArvv3fbpFXzNWjw6OfEAAKmTGnjO9qxtLtqem0L2UoP91GDCaeXqg/jb3g5aeDiglbhnuL+92EG8c3eH4GHOev4WpnKHTxM8EA8aWcYV7oNGkRDdF8TXUhj5hOitRJBiPQ== 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=9yfl9lQ/5rZu18+4SmT6pkW7Hn5bp4Kl8Fm4PguIJ5I=; b=kS+EFeT1rQxgAguzPaR9yaAEJgpPsUxumwoml5bkDod66d7lnT5gdGRNpGYPPQXQVC0Dy2sKLdwa6pExOjic0FHEj/2+r/dXs0Aa+vOOirKfyxR5g8A1c6DcTrnwwEBzqr6MTsbgdQdtzRxXKDWf1suItzoYaB5f1fEk1aLQ+ABcwKScNuRBmo8OfjYoNUey7AgTPh8zaogUwNcuEkJYH7csgV5WQ9qqE4Jdf4ZaCBdPlMNakxtwQXuB1uu5CqDluBQNpXd53N/TwSFm/NepaQUufeQZmqiH+1rgxniL+lGSRwVJT3bdmjRE9prG6gPeqoUSrx0g63kylxCt2XyS2Q== 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 TYYP286MB4330.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:10e::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.23; Tue, 12 May 2026 10:30:12 +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.9913.009; Tue, 12 May 2026 10:30:12 +0000 Date: Tue, 12 May 2026 19:30:11 +0900 From: Yugo Nagata To: SATYANARAYANA NARLAPURAM Cc: Dean Rasheed , PostgreSQL Hackers Subject: Re: Infinite Autovacuum loop caused by failing virtual generated column expression Message-Id: <20260512193011.1475adccc7ecc8961bafaeda@sraoss.co.jp> In-Reply-To: References: <20260414152425.879493d6202956e23afeae03@sraoss.co.jp> <20260428181420.2288f18ed3aa42cef2a7c7ca@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: TY6P286CA0021.JPNP286.PROD.OUTLOOK.COM (2603:1096:405:3b9::16) To OSZP286MB2160.JPNP286.PROD.OUTLOOK.COM (2603:1096:604:189::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OSZP286MB2160:EE_|TYYP286MB4330:EE_ X-MS-Office365-Filtering-Correlation-Id: b59b0b5a-2b7d-44ba-12ad-08deb01172ce X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|366016|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: iCRjhTtgNZdc4tMkqXt1NptugMmvWOMfuCroBCvxDKsn6cOXnPz2CPDWV+jeTJkw1KSuLGnspAY8hK5RD4PweGhFB8xc/4654+fcG3Ge3rWHRxbK70Beb8fpZItqSJYfFgXu+df7hoVBWWVnNoS9JNT+rUdsjsVs8t0AqfP6VGdU3D+VB5u1tSRVSJ180K+NOhuZkgHDgM2Jrz2PrOmolEA6Fkvy3rc4j3JRxdtHfeakTPVK8UqXMFAu9EcGyWp252hsziIatHLfSF5S9nB/WAAfZkuDo3Hv8+Oh4RKevKuevJEO5w3F1mKPA5OjZboJScqBHR6CdrMLRqXWFXoYf4tQKRVaRVcD1nOCqIiaVNWfX7Wew4jEpgneEoZv+eWwnjWdpjdINe4AlCpJeo+MDBejYvUkFk2C5l/8M9BN3PGAUsuEvXRcAJENR6CKTjN7V14jcxGB8ZYozO608fnGG/oZVF6ggDkCHNjvNIny/EVLCMSIIFMDiNLNHwmHOlHYtMvHotmcygLn0EIL1HUs7nTpNEmvd9yQMPapUVnrZQjO9mWQJI5vszsbD3P2Hvtb5PuGEyJKqdz9cSMlbtLjHR7RLBYBIqjuH9ME5N4nLwaFIcu7NYJ9BMglXN9t3G+1EvKWssrUeFwK5shtFFjtLQNGJ4UBq47tsr2gopxBdyA0nTVc+N/y/r+AMe6XnNJm 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)(1800799024)(376014)(366016)(56012099003)(18002099003)(22082099003);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?T1VF3giOgqH2a4EolL0Ir1BOYA+7RC3uQvO5cEbu/SvAQckUTIPQ5hZURIoh?= =?us-ascii?Q?K6rssbb4HM6pl5FpbkJ6Y2TLDiIpJaDPmivGtX+JUVZt9gcW3CNVYcqzVyQu?= =?us-ascii?Q?Eos65TnJEKWdEugAuMGyIC1wWCm5MY+3SUcNItGDltQAS+AumE6cuONHzjfh?= =?us-ascii?Q?uvKJRw2iwpCTYIB08pXxEr014yfAJqMtmTd3IIK1gIdbTqPfWPkU9L3nSvPU?= =?us-ascii?Q?OC8u9biBm+BzxUZTrgyfmRJLVwpQNr48byUZF5yfI3m6Rf1B6+Jt0PBCAe+3?= =?us-ascii?Q?Yj++lyXDnYQzP6Wigp4s4edlrukv1yJeNyYfZJ6dhDCZ5jJPbGeaix96VuLj?= =?us-ascii?Q?EnQyFIpQG+/CisEZ8yl5hWU0ZSOutlUMeAm4I+jQGaUh6ADuzysLngZ4N155?= =?us-ascii?Q?qvaKVYzuBPcgb2mlJlxfUvZDP739VMLupKKBo7RJiHuIBBn7oNs2TyVZ0wIN?= =?us-ascii?Q?hWQbM9A+zYVfpg/d0YI33B4qwSdEOkr5jVQRiSHlh9OCsPWJFNy+2hYzHNwf?= =?us-ascii?Q?94xtU/ddyrC+1PzXJY4dTgz64+2VrIzx3pM4FAH94d9O63SePG1GEeFUIHCM?= =?us-ascii?Q?8ouwD03UKyHfKycmRiZMjj11yBwsn/vDBU5luII/bvOhK09JTvBXBE8dWz4F?= =?us-ascii?Q?OrnvsEdc/O8HpnDWVyfP16tjjPCQHJfJu+PG9nokNDAR0GUXw9skwLFyGlT2?= =?us-ascii?Q?FuNUJlPknQxklURVbOajGsZlcZ0lmyu+yUZhX1td9S4amZJcI+7ZCo7X41IH?= =?us-ascii?Q?iBw50I9simMcTI2oTpf3vfSt8HnA+q+cuslUAUvYmFp85AEEPwzZc5g/jl6E?= =?us-ascii?Q?20hEuH6z/akb6GT0f0DWMl+KoqkwhZCFQmxoopBj4GyZDbRD5YwZBsqrYGQy?= =?us-ascii?Q?n1I1/qvSEaPaPqxkzXDF7zxM+qkriGtXuUL5p+Y3rwvBkatRNX5Bb/+EAbTw?= =?us-ascii?Q?H56ZTbRdJnLJ1OlyDijFyoOwSFwjdvD0xMWQF3MXnoYiMOx43sA6jDBkXkma?= =?us-ascii?Q?k/FN2c1zwR7F+mXhc/noWHemGTSQDW+CmzyriKJDShQk0T1ceiJEalpTgLu+?= =?us-ascii?Q?7vJfxQDYXTJJzdhmaw4sC3MJpeGU7mgrNYlapbCUXkXenfCNxd/SuuJTQLyP?= =?us-ascii?Q?KxrmrjCOM1W0uVu/cX8AXJdalN/3MGVAQ+hfwrF3/MWyw40TcDuZJUNJdL5S?= =?us-ascii?Q?FWgllgY1sjlOxl3MrCF6KUGfg5AkwblJKWD36ccfn73rUcXB5BGAiI1YpZ0d?= =?us-ascii?Q?oD3T4c06Nj0QHDfsqC5paoAe0z7gFaJcvhzZJ0Mh+VDvDiRqR7r9X/3FQV1+?= =?us-ascii?Q?Uve4z72rLvYRuA2x3Z5Mfya1TLU4LhdgJwclpsxNTlkgc3AGuU4BgbToE1wO?= =?us-ascii?Q?LPi0wdR+ttJJI2L1+07AAO0eKsbO8ToTtZw7ALQwQ49SYfudoakTyqDYeqr/?= =?us-ascii?Q?CqOXu27fZiXQiz1Je1Lq2PQItFlcHmTgMYAWkHQVLtGjMgoibZvBwKIJTY1I?= =?us-ascii?Q?LOglrP0y5xtPBxIjDT0U1StD0dPR7Vu9u5m+mklfxc42uVAmx4eo8w6GBBqO?= =?us-ascii?Q?+PXa62Of4ZMoGH3dwa5RVn93XB2inBQ5qziQAbUp4qvy/Odt+5nvWiAx/rEo?= =?us-ascii?Q?c5DZcXxBuoEDa5thhrLZ4o08NEs7KSSmmYilAVqQrp9gRXkIAX1D/jzh17il?= =?us-ascii?Q?49JnicKBEY9TvluqBoKvUgDH9QuOzY4xEnZ0TjQZxooWzwl7u17Kqf6gMRT8?= =?us-ascii?Q?Mh8YMS2a4A=3D=3D?= X-OriginatorOrg: sraoss.co.jp X-MS-Exchange-CrossTenant-Network-Message-Id: b59b0b5a-2b7d-44ba-12ad-08deb01172ce X-MS-Exchange-CrossTenant-AuthSource: OSZP286MB2160.JPNP286.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2026 10:30:12.1299 (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: u8IaLE45z5t1EU8XIIszAl6MD8gQM51rmM5EynnqjfhXpdSNWyixPBQbeBlKAdnvD4SlVNErwGk5XVWjFhqxdw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYYP286MB4330 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Sun, 3 May 2026 11:04:59 -0700 SATYANARAYANA NARLAPURAM wrote: Thank you for updating the patch! There are a few comments on v2 patch. In compute_expr_stats(), + PG_CATCH(); + { + ExecDropSingleTupleTableSlot(slot); + FreeExecutorState(estate); + PG_RE_THROW(); } Should we switch the context to expr_context before releasing slot and estate? Also, should we call MemoryContextDelete(expr_context) to release palloc'ed memory in the loop? (In fact, the error would not be cached in compute_expr_stats(), though, since it would be cached in make_build_data() if any.) Should we switch to expr_context before releasing slot and estate? Also, should we call MemoryContextDelete(expr_context) to release memory allocated by palloc() in the loop? (In practice, errors would not catched in compute_expr_stats() itself, since they would already be caught in make_build_data() if any.) + /* + * Wrap expression evaluation and stats computation in PG_TRY so + * that errors from evaluating expressions (e.g. division by zero + * in virtual generated columns) don't cause ANALYZE to fail + * entirely. Skip the statistics object and issue a WARNING + * instead. How about rewriting the comments to reflect the more general case? Extended statistics involving virtual generated columns are a somewhat special case, while errors in expression statistics seem more common in practice. The same applies to the commit message as well. Regards, Yugo Nagata -- Yugo Nagata