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 1wguK1-006UOZ-0y for pgsql-hackers@arkaria.postgresql.org; Tue, 07 Jul 2026 01:10:01 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wguJz-003vh8-0w for pgsql-hackers@arkaria.postgresql.org; Tue, 07 Jul 2026 01:09:59 +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 1wguJy-003vh0-2c for pgsql-hackers@lists.postgresql.org; Tue, 07 Jul 2026 01:09:59 +0000 Received: from mail-australiasoutheastazolkn190100000.outbound.protection.outlook.com ([2a01:111:f403:d40e::] helo=MEUPR01CU001.outbound.protection.outlook.com) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wguJw-00000001w3Z-47F9 for pgsql-hackers@lists.postgresql.org; Tue, 07 Jul 2026 01:09:57 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=omsU8m+C4Y+wK7zJJIuOyc9FLmmwJxgBvBWGkjz7SKNeTfwt2R+HQoDoHEIBstnLAvvYB7BG+TyOMc1EyHgLl+FPOdsiZ/nQfT7STIprmyszH3D7+q6nwxmdCY3EiIlwUaM1DL5n9SvbYFCddXoRgPKksU3dEDhOhGJxK9NxDA+PupOZutdX0jGifARQ0hgF4O/xdpItkcvlglfT5/W1p7RAA9j+I2+Odvnf9/7zx2IT47ZnOjO46+RrlPYPG1lwaFntO7508KMIB58s03GaoCJmx0mf9GYgm7GlVuEF6P/G+/Q7Tg5gCSHCHNr0ctNzYWN35G9Q3uVvlL1x6SJRkg== 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=FjvTFBLDQkZHEVBIL9fuImnWXGaH8ulJLI9RyJ88OcI=; b=h2WOdKzMWzOlA9kqD7YZK6xXf040srV6RyD5vXV7ATa1iKHh2wDEyBbEfZwW1eZmijH11wlmz5QdWWMQkcexIsR7bxcV5vNFIurIqVvnq92wzliX23oSXjExT+keC7h+TF7BGeCHQxWHJhvAcmc+urdWWX6qzxUjnVjGoECPgeSvQW+Njp/nGMNWZfF8YC96mfRgPvaEt4LhMJjlzy2tATKd+jbU/2fI0sKMbTn87zMRGzof9mBo3yccmQbeUxcDrzABdQL3RtTfgka01te0JXuuz/z1NJsMxm77/ioI64E3hD8rOcmfzaOZXYPSg/5bE0Sp/3C5Kw5KIXxDGsmnuQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=FjvTFBLDQkZHEVBIL9fuImnWXGaH8ulJLI9RyJ88OcI=; b=lw3bpMqHUp9SHuMAEMg2MtYZM+1fYhsmpKfcn5EDVX3Mo48DqgFJaDv/pVq/QGILoFmnjJLkkw52sKjgU0tMlfco0p2tyyDTDaFW8SUrUA5NGKb9Vo9Na3cveW7rGqgUbpPOEPEr+yWT51N0vQQxv0eTnlD4evgvg9mrZLAiYBWKbRdJqb8QOW4PVSESRwSsEjV+unw1lSxO1UBlFhq48lnrRTbNCMgHGysJzEzyJMHP/2GgxJV/7a3i/b5jhYzyzN6h+0YeQdMqY0CgK6S/oOz/CJ5Z4EMet/7orRKDU2u7qbkoDp3oWSaSzoJ0ARP9y1BSQZbagEHFNheXF6RAag== Received: from SY7PR01MB10921.ausprd01.prod.outlook.com (2603:10c6:10:334::16) by SY0PR01MB10465.ausprd01.prod.outlook.com (2603:10c6:10:2fa::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.11; Tue, 7 Jul 2026 01:09:49 +0000 Received: from SY7PR01MB10921.ausprd01.prod.outlook.com ([fe80::7908:e00:4ab1:d120]) by SY7PR01MB10921.ausprd01.prod.outlook.com ([fe80::7908:e00:4ab1:d120%5]) with mapi id 15.21.0181.010; Tue, 7 Jul 2026 01:09:49 +0000 From: Japin Li To: Dean Rasheed Cc: Kirk Wolak , Pavel Stehule , Andrew Dunstan , PostgreSQL Hackers Subject: Re: Global temporary tables In-Reply-To: (Dean Rasheed's message of "Mon, 6 Jul 2026 11:12:32 +0100") References: <251A02BE-A148-4FEF-90EB-5E9559310B8E@dunslane.net> User-Agent: mu4e 1.14.1; emacs 30.2 Date: Tue, 07 Jul 2026 09:09:44 +0800 Message-ID: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SE2P216CA0125.KORP216.PROD.OUTLOOK.COM (2603:1096:101:2c7::17) To SY7PR01MB10921.ausprd01.prod.outlook.com (2603:10c6:10:334::16) X-Microsoft-Original-Message-ID: <87fr1vsizr.fsf@hotmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SY7PR01MB10921:EE_|SY0PR01MB10465:EE_ X-MS-Office365-Filtering-Correlation-Id: fb83b6b9-c883-4964-fdd6-08dedbc470ec X-Microsoft-Antispam: BCL:0;ARA:14566002|12121999013|25010399006|55001999006|5072599009|4140399003|39105399006|15080799012|24121999003|24021099003|24071999003|22091999003|6090799003|23021999003|19110799012|8060799015|20031999006|3412199025|440099028|40105399003|11120399003|26121999007|35041999009; X-Microsoft-Antispam-Message-Info: =?utf-8?B?emllTkZCZ1FCQkRZdlJGMldPLy9VUFQ5Q3FaWFhxRUJJQzR1b0ZQdFZRenRu?= =?utf-8?B?SUJwOUwzY0FJS2pGZ0JPUU9kamRET0ZEdHRCYnJYWERSdHdhTEQxZ0Q4S1By?= =?utf-8?B?R2RGMEt2NS9odHFPNkVUMnU0NkoxaXhiakl1OGw3eTdxUnYyVzBVNjdQTmRJ?= =?utf-8?B?N3l3bjc4WUtqZ1EyVDJMSVpEUmlTYkdFRGw1dmtCRXdib3pObHpyLzJLalpw?= =?utf-8?B?ZVZOTVFnaEhBenRwVGxucXUwb1R3clJ1OUx6MGRjSm1XQTRiZmNKdmZZMFJO?= =?utf-8?B?TVlNcUEzdzVJV3ZMWDBlSUhxbUhBbFovTldSdGF6bTUzKyt5Si9CdEtMRk5l?= =?utf-8?B?MmxHZ01jT0QyanMwSTltaDZCYm1vM0tUSXFMc3ZOYUZmMzdOT05Ea3E2a0w3?= =?utf-8?B?Z0QySFhSTDBlcUg1YkEvQ3ZVVDF6UVcraVNkT2xjM2p2NXF1ZG1SMjZ0VHp3?= =?utf-8?B?cUFTZ255bTRrc3B0TGt0RnRFTFhjT1N2MVkwNXB3T3VTNUw4RWdENlBKRWJD?= =?utf-8?B?bXFpYjJqU3pic20xSmZPNCs0Q2lRc2pmVVdPaWRRRUNhdWcrZStXWm9lSURJ?= =?utf-8?B?T1BoajZMT2J4M3VEM0dueVJUU1ppM1pNcmZxQlZKajhZc0V4L1oraHNHbWRy?= =?utf-8?B?b01KVDlOcUdrWDNHODNDb1FURnJjT2wxcDllallsR2Ivenp4dmQxcDBJRnNB?= =?utf-8?B?OUV5VXdWeWdXQW1IcjhTMWJlWTNZQzhoaEp6R2JPUXNFSmRWcWNDTGdmUTN4?= =?utf-8?B?eFE1VzUzTXVIMWcrclJwekRiS3lISEpWZ25oai9HUmVYdVVvbFZUTHdMM1Iw?= =?utf-8?B?R1RGSWFJZ0hzKzJweFZDRFRudzl5bTFEK1hpNCtQeGxCai9kZ2xVbHdUOGR5?= =?utf-8?B?cUJVRmlQSHR4aE5vVkVrQXQ1ejdNZFJSUkhXbCtpd3V1RHNSM1hhMEJPUnFn?= =?utf-8?B?LzZPUTBOSmV4RGpkU0liZFJzMEkyNkpYWm45UW5oRmF0ZjE3VEczRk54N1Bu?= =?utf-8?B?SGI0V2ZqVjN3SnFpQVJrQjJWNE1iYTU1c29mUVJCVk93TTdnVmlCaXp5dUpO?= =?utf-8?B?UjdLSlo1aURNTlUxK3RMRm1LT1dYUU9zZ0QyeS94R0djQmdaL1dIQnlmVWNs?= =?utf-8?B?N2JYQ0x5WW1YQm5wcjJVUk1ia0VFUzlGaW9wbkFCMWR3VHhPRXNZenNlMGpy?= =?utf-8?B?ZWhYUFQ5ZlRFcWNqUm8vNjJlWVNlNFhyOEJlZVF1cUdjTURWZEJjdEs5dUFp?= =?utf-8?B?L2dQQ1JHSGc1UXN5VVVWcVJidWY2OFhXT0JnU2IwbVhUZUN3dmdjd1V3bjlo?= =?utf-8?B?RXFrVWVIVTd4TlJ2Y0h2bWJneXNaUmJhWGV2U2ttcThKaWpFeGVLcmpXTVpH?= =?utf-8?B?aTlRZU12cDN6NkkxNXRtMjVidSs0TmxqWGJaeExvUmdRV25TYVc5VmxZNmcw?= =?utf-8?B?bGovY1BPb2xrcXhqamZ4UmNCeFVobkpFemdON01ZalBxTDVoZnoraG9MclNF?= =?utf-8?B?WDJDN0xXbTkxb0czemxzYlBzSitLU3BsSjNkR1F1Z1Nid01GaDdFN01Cbmox?= =?utf-8?B?VTdmd003d1ZEcGppMlUvdTFIZFdHMjFkYms2WHl6WG85U2RLMC9iazhlSklO?= =?utf-8?Q?CI+3SiABjODpQCy7EsYwcGs8aXNl6WKewguavU93qfA4=3D?= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Q0FRUFEwTWNSZXhFSGJOWEFDT2h0eWpqSjFPbmdXTnVLUFhxUXkrTzVoeDUv?= =?utf-8?B?TnNyWmpMcWlZUlVxMHhYZktiMEljQkN4R2xXRlVDcjBMejlSZjdONWRBK1JW?= =?utf-8?B?RWNQTGRZTGdYajR2dTVZUnF0Snd2WFd3ZTdnbWc5T3d4WERraHpkRW85TjJC?= =?utf-8?B?NG1CbVdRR05WMWtSeTZOR05ZMVA4NFdWQmhxYjhzQUtnWXlJQTF4NnJBczJk?= =?utf-8?B?cmhQT0pYd1RYbnkrUUNoSlFaL3c3dEx5cUFGeWx4eXJlVm94RUxvbktMb3E0?= =?utf-8?B?WFN4b2RDSVlYcEFBSGV4UmlXQzg3a2kvT283bW1ROWlRYkRJUGs0MlhUdURh?= =?utf-8?B?NWVycTg3YllxYmxKYTVmOHo2TE91Yi9BclpRVzZjc2pTa0FnV1VPVGJkMXF1?= =?utf-8?B?ZXpJdG00Mzl5c2ZwUFJpUUpVTEoyMnRnNnhQS25SQW9TWUhlZnR2VXVtaEtz?= =?utf-8?B?TlVOMzI0M2dvL3gzVmx6YWwvLzAzSmM2b25JaG9QZ1NISlErc1VJSUtGMXJB?= =?utf-8?B?UEFZZmx0NjBnZ3dEbk9vNzlUR2RCdWVGODd1NGdCbTFnRUZMUzlLanRGdGZ6?= =?utf-8?B?bVpycUhPei9DK2ZwQytETDZ6blpqcC94WlQwNjhpdjhqRWZETi8xNTJ1ak9O?= =?utf-8?B?NUdCRUwybVZBbmJENWoxemxpTnMxTDBoMlpadlErNmttN1ZsT1FoZS9jVW56?= =?utf-8?B?cnlMVHpaZWlXNXAycVRncjljbHJkRUkxS0hIbUtPTmxZajNCTGdCN2xFTjBN?= =?utf-8?B?RC9HbGRRS2ZyZUZaUWdTUTNrYmhrMWZuVjUzaElFVStOcnR5SFFhNjV3Nlgz?= =?utf-8?B?amR2K0kvQTdVWFdTYnhMRWF4ZHlyZU9oS21RTjZFSVJ5RHI1VnYrdC9VaUVL?= =?utf-8?B?cWp3NngxckI1VGRMaFZGSE45MkM5TDZGN1ZYOWxJMk1HajVOcXlvTSs1QkpQ?= =?utf-8?B?alVJaEx5MXgwa29PVUVNc1djTjM4N1V5UHdHaVlLQkdUenY5MHdZV3lLa09P?= =?utf-8?B?OStLaXFpbFdvaEZjUDU5anRlRkxEVnVQNWUraVJSanB1Tm5mdmVuYW16WEdJ?= =?utf-8?B?bndWOFJ4cWhTV1YwZlVWdldvYTB2NTVoQ3BuWTFCOXVjeUR0V21nMXdmbzdD?= =?utf-8?B?cmNTRE95QXg3WFBGRlNmZFp5ME91TXo2WFh0WndPZlNBVDl6TkJnZko1RHpp?= =?utf-8?B?ZGF4VUFWZU04TlZBaEQ5K2paWHptb2N5NzNGaUlVWTBoeHpwUUZpbTlqanEx?= =?utf-8?B?b2JTVmgxOFkxUDZHU1dtWnlPOFBkaklIOHAyQWFpMXljcTRwc2drN2hKa0dj?= =?utf-8?B?Q2xSRE9iN055cTcxV3RsaW5rWjZ2YVoxYXJTM0hrMjdodkJoM2k4OHd6MHVF?= =?utf-8?B?OGdpb0tnT09HOUZvS1R1QXZmblFoVXllVk1PMkNXcGtocEdhYzNWWWl3R1Nv?= =?utf-8?B?ZzErVmpWbVYza2hzRWlHNExFTGlZSFRWUUMxNU9CeTNYVENlaVM3ZUFpVXJn?= =?utf-8?B?eThqVnNWQldPZkcxM1EweGhRS0hFN1ozcW1mR1dOeEpnNXpuckJOb3dZZGdG?= =?utf-8?B?UTR1SFlIRWw0dnZKcmpzNlQwRDhhY0xZOFRnRjd3dWRvaTRrd01NenVQd2Fl?= =?utf-8?B?ejJKL0hpQWhSYm1oYmYwd1kwRzZoRDZsdWxFbDdpWkYvdktkL3hUSjRTR3M2?= =?utf-8?B?cUJCdHdxcUROZUVpdjhmYTVLMUhEL0wxd0ZtaFpUaGp0U1crQzhoZmhXWVV6?= =?utf-8?B?d2FBR1E1aU0rdzlVVVNUaFd4V1hBOGwyV2ROR1N4U01sZDRuYWlSdklVanN5?= =?utf-8?B?ZUs4bFdJSFlSVWIwSUhQNUZSMXY1ZEp2Z3FGdVR2S0g3SGJ5Nm9UZ3laaXBY?= =?utf-8?Q?HbhERsITf2bK4?= X-OriginatorOrg: sct-15-20-9412-4-msonline-outlook-feddd.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: fb83b6b9-c883-4964-fdd6-08dedbc470ec X-MS-Exchange-CrossTenant-AuthSource: SY7PR01MB10921.ausprd01.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Jul 2026 01:09:49.0084 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SY0PR01MB10465 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Mon, 06 Jul 2026 at 11:12, Dean Rasheed wrote= : > On Mon, 6 Jul 2026 at 09:35, Japin Li wrote: >> >> During testing of the v6 patch, I observed that sequences belonging to g= lobal >> temporary tables defined with ON COMMIT DELETE ROWS are not reset after = the >> transaction commits. >> >> postgres=3D# BEGIN; >> postgres=3D*# INSERT INTO gtt_delete (info) VALUES ('row 1'); >> postgres=3D*# SELECT * FROM gtt_delete; >> postgres=3D*# SELECT currval('gtt_delete_id_seq'); >> postgres=3D*# END; >> postgres=3D# SELECT currval('gtt_delete_id_seq'); -- The sequence s= till exists. >> currval >> --------- >> 1 >> (1 row) >> postgres=3D*# END; >> COMMIT >> postgres=3D# SELECT currval('gtt_delete_id_seq'); -- The sequence d= oesn't reset. >> currval >> --------- >> 2 >> (1 row) >> >> The sequence doesn't reset after commit =E2=80=93 is this intended? >> > > I think that's what I would expect. This matches what happens with > normal (local) temp tables -- sequences are not reset after commit (or > rollback, for that matter). > Thanks for the explanation! I hadn't noticed this before. > Regarding pg_class.reloncommit, 'p' (preserve) seems correct for a > sequence attached to a GTT with ON COMMIT DELETE ROWS, because the > sequence data is preserved. For indexes, not so much, because the > index data is deleted on commit. I guess it could be NULL for anything > that's not a table. > +1 for setting it to NULL for non=E2=80=91table objects, since CREATE INDEX= and CREATE SEQUENCE do not support the ON COMMIT clause. > Andrew's patch uses a reloption to store the table's on-commit state, > but to me that doesn't seem quite right, and it requires special code > to mark it as a "private" reloption that is non-user-editable. It does > simplify the question of what to do for non-tables though. What do > others think? > I'm on board with your approach to the on-commit state. > Regards, > Dean --=20 Regards, Japin Li ChengDu WenWu Information Technology Co., Ltd.