Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q8dHY-0007kN-My for pgsql-hackers@arkaria.postgresql.org; Mon, 12 Jun 2023 08:52:13 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1q8dHX-0002lM-IP for pgsql-hackers@arkaria.postgresql.org; Mon, 12 Jun 2023 08:52:11 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1q8dHX-0002lC-1E for pgsql-hackers@lists.postgresql.org; Mon, 12 Jun 2023 08:52:11 +0000 Received: from mx05.melco.co.jp ([192.218.140.145]) by makus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1q8dHP-001l0U-Ll for pgsql-hackers@postgresql.org; Mon, 12 Jun 2023 08:52:09 +0000 Received: from mr05.melco.co.jp (mr05 [133.141.98.165]) by mx05.melco.co.jp (Postfix) with ESMTP id 4Qflmd22tbzMrGBL; Mon, 12 Jun 2023 17:52:01 +0900 (JST) Received: from mr05.melco.co.jp (unknown [127.0.0.1]) by mr05.imss (Postfix) with ESMTP id 4Qflmd1dM1zMyw7m; Mon, 12 Jun 2023 17:52:01 +0900 (JST) Received: from mf04_second.melco.co.jp (unknown [192.168.20.184]) by mr05.melco.co.jp (Postfix) with ESMTP id 4Qflmd1JsMzMyw8D; Mon, 12 Jun 2023 17:52:01 +0900 (JST) Received: from mf04.melco.co.jp (unknown [133.141.98.184]) by mf04_second.melco.co.jp (Postfix) with ESMTP id 4Qflmd1GGSzMqyt2; Mon, 12 Jun 2023 17:52:01 +0900 (JST) Received: from JPN01-TYC-obe.outbound.protection.outlook.com (unknown [104.47.23.177]) by mf04.melco.co.jp (Postfix) with ESMTP id 4Qflmd13P1zMsByy; Mon, 12 Jun 2023 17:52:01 +0900 (JST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GWTiYpOO0/L8CXxsXLiFwDQpujdfztMO9/Vi1xeYcavPjxhDYm6cMbJmzkFbecEevWHt0UXw9vG28f3fiSgktwA8JaG+Gf/hrmFCCPildOsm/qRl6fp8e4eh+avmUdUFmdH916S+YA2krJy36TprYw3m3QP0DkMbUIDjPnws1MzmVw8/fr3ngxxJ43Kfq19sW/9RXdEhO10VVYKt1bh9S+7ZlUnMMibWl9jGMLqQfcyND/cQyhzpPskIGBupTUKeWmmp5ZmpK8ZYzfsSQ5PgKd+PQrCld2hu/8FilH8MoKtK3qJKpxxwew/hagPPb00maIG7Lelb2geqTBdLem+kSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=yomixS7X81lhpQZ0T66JJXSXI5coISbWxIMo0Ngap4w=; b=h8XXWoh/yqsqh3R6iYw73hN3ZbNs1wsECPC5qwpDms5MR1EzDzrvWvw0xfNmC5L2RFWEJoID+tEmJH639CPVYFFaVbtOuvtBz141hF9aNu7cC88YbcFxF0mdyKmDq3Xti3r5JdFqiQMFZORkrRUCU4T17PW4PnPl3aDoQUekwXuOA315biZYtaj/J01hRO0WTiP5o9buUFuQBIBtQoW+4ISYQke2/kIiIlrd/WRWfFVZGGSIprphQBQtlCzosLN+39Al+9ufeUSiHJXl/gRLH465V3y130KS5Ts11gNuwqeFjDCghf3jA3e/AB1YJyMLxfolbPiEuu8hT/2RE9e+AA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=df.mitsubishielectric.co.jp; dmarc=pass action=none header.from=df.mitsubishielectric.co.jp; dkim=pass header.d=df.mitsubishielectric.co.jp; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mitsubishielectricgroup.onmicrosoft.com; s=selector2-mitsubishielectricgroup-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yomixS7X81lhpQZ0T66JJXSXI5coISbWxIMo0Ngap4w=; b=SASw75by6lzTM1J6uExGKJeohRMV4fpGtOVIioDe/enqJa25O/DQDtBh9XK1kNVEJgWnUIGY+Qt0hzvODrzKA++Gg/jpK7uuMffVkF0cBEz1dDVfAplHf0oaeYTmbai7ef6uiH7zU6XYlSReTLzqoR0McCzC+Yn2Q3UcgJQ/A1g= Received: from OS3PR01MB6660.jpnprd01.prod.outlook.com (2603:1096:604:10e::8) by OS3PR01MB10325.jpnprd01.prod.outlook.com (2603:1096:604:1f8::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6477.29; Mon, 12 Jun 2023 08:51:59 +0000 Received: from OS3PR01MB6660.jpnprd01.prod.outlook.com ([fe80::c149:aae4:b818:2c9e]) by OS3PR01MB6660.jpnprd01.prod.outlook.com ([fe80::c149:aae4:b818:2c9e%4]) with mapi id 15.20.6477.028; Mon, 12 Jun 2023 08:51:59 +0000 From: "Fujii.Yuki@df.MitsubishiElectric.co.jp" To: Bruce Momjian , Alexander Pyhalov , PostgreSQL-development CC: Andres Freund , Tom Lane , Tomas Vondra , Julien Rouhaud , Daniel Gustafsson , Ilya Gladyshev , "Fujii.Yuki@df.MitsubishiElectric.co.jp" Subject: RE: Partial aggregates pushdown Thread-Topic: Partial aggregates pushdown Thread-Index: AQHYPYasTfJpCf0a4028YJm7JfY5bazLVbIAgAA/QgCAzsLGAICupJqAgAOhGYCAC47OQIAAf6sAgAAdMNCAAEyGgIAAtjrAgAD/KACABTrjIIAEWzOAgAyCOHCApWPpgIAAT1AggArXpoCAAFPI0IABO+iAgAMFFICABR/vAIAACpQAgABDk4CAAU/RgIBJ2XYAgAgC/oCAAC5WgIAGnISAgAQxEbA= Date: Mon, 12 Jun 2023 08:51:30 +0000 Deferred-Delivery: Mon, 12 Jun 2023 08:51:00 +0000 Message-ID: References: <8ffedecae0d21a3cd93805baf1dcc0de@postgrespro.ru> In-Reply-To: Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: X-MS-TNEF-Correlator: x-melpop: 1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=df.MitsubishiElectric.co.jp; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: OS3PR01MB6660:EE_|OS3PR01MB10325:EE_ x-ms-office365-filtering-correlation-id: b74740ef-343e-48c4-2bde-08db6b2248dd x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9Nx9wDexN+6ab32GLzSrK0ZkeyTBmDYyzlswdva0AfDxKuoqp6BivmK8SG8zqLB664fjUvXfvbVuaCT1djtbGq4MJPBPcNb0x2ggjFfNDsxDORkUtGU4oriP8NyG+p6MPxcfKxUfyt6+t/3CiX/S/EEZDwSvPyGloe2Y9Z+JMHD2Yr+i0+oqSAYUO+qtizP3MsS/7M4X842BBbPyYNQ3OjsyeKBKipAIeP7WcEZkMf8MTSm9Ue5nzItVL6y1VeENsuFrv5DmLmFReolsvtek2Tv8SmbOU+kMtDIFY8CbMR9p+7aQsPoTMvaimpOjkhH6+XjgN0BHhNZkuqe56JTs1n/YoQlIaEJEjzY8QcXAD9YKcjMrjaD6kWGnHbH9HcSphfP94JzzJVuF3t10h2Cyivmc73sZYpxmJCRyz4Ii0xBHQjSMfRgB/5ZT58i1OWFCysyyQ63bbG3+mApXeoOrMygjCZvqlQaHi6n8Zd9BuNMZ+E9nHYmmLFSjcLizN823yYEf6G9Wd0cGApq8LZHl2u+1R9wnFmcVe9hxPmQqvGEwYTgApl4hmecXmC3Twtb8/gWS83VMNAGSygUXOLzdAfXKPKiU+q1KUEPNAGgVbPYCkENPTU0+1c0HHttHFvSD6XE8TX3kcnr57AO6AAnx3w== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:OS3PR01MB6660.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(396003)(366004)(39860400002)(136003)(376002)(346002)(451199021)(76116006)(4326008)(66946007)(64756008)(66556008)(66446008)(66476007)(186003)(478600001)(2906002)(110136005)(54906003)(8676002)(316002)(41300700001)(7116003)(107886003)(86362001)(7696005)(6666004)(52536014)(6506007)(33656002)(9686003)(38070700005)(71200400001)(122000001)(8936002)(83380400001)(5660300002)(3480700007)(26005)(38100700002)(55016003)(95630200002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-2022-jp?B?Ry9HeFBTZEdPdnh4UDVCazVpb3BCREltRG9SaXUwSzNWWW5EM1ZCT3hC?= =?iso-2022-jp?B?TW1Fc2ZkTlNXNlMrS2tVWHkvY2lKS2FwQXBRY0RCd25wMEdYNFhKMGhM?= =?iso-2022-jp?B?MjZyRVdtZXlyaDhKci83UitxcUM0b0U5SjNSb1hzc2JibjFjb3NObFFx?= =?iso-2022-jp?B?SDRPclU5KzBYeExXNlM3NkhkVUREZTdiakt0ZnVBRVE1ZXpINzkvNzcv?= =?iso-2022-jp?B?SnptUVFLYUZ4ektTREhFRzR4RTBDOWdRcGtGdS9XSlA0a01lN09VNy9P?= =?iso-2022-jp?B?VUdUdXFRU3ZnQlQ5YVBsQVRvYlRvd21iNzJHbmFFUEZRSDYzNjJRV0RF?= =?iso-2022-jp?B?Y25RUW56S0dqdmF5UnYzdElZdnZGU29kaUlsby9KZzdMemhpSmNzR2Mx?= =?iso-2022-jp?B?TTBQSC9RUWxCWEx4VGIyTEpFTmUwUG82TENnQU9nZmN2VXlxYXlkTGo1?= =?iso-2022-jp?B?YlFvazczakFMWnphUk9BNHRSaVZNTUliQzZMT2VRZm9FNUdBRjVQTmJP?= =?iso-2022-jp?B?dEFKRnJ1MUtrZjN0eGdGSzRRSEwvTmRWSTg0YVNmUXNyckZYZFhyQ0tr?= =?iso-2022-jp?B?WDJXRHhMd2pJZHpHZXB5ME52eCt2SnV0OXdEVEUzeExvZ3crK1FRcU4y?= =?iso-2022-jp?B?T1M2U3FOU0RuMHBBZ2RRMHNGUW95Zm55cFYzRjZldXY3M3ZxaW9Sa0hp?= =?iso-2022-jp?B?UXFKalZGVEFHWTJqMEFhQjZhMk5NUWxQU2NzUktLOUlObEFaQ1o2Ylo1?= =?iso-2022-jp?B?TTFqd01nRHZtVExwek5GUUZMUGQ0eGwwNWNKMGtVNzVLejB6UVZuRHRk?= =?iso-2022-jp?B?Tm9ZaUs3aktRcmFPNlIzaS9CSUVrRGdyM2Mrb2N2WjdiZXcyRlltejZM?= =?iso-2022-jp?B?ZXNuSGxTQmVXTDJ1L1pRek0ycWFKeTFSNU9ET292RkV1VFIzN21wbW4r?= =?iso-2022-jp?B?Z1k5RVJsbVNJK0p0VjhrL09kdGpWS2VSUzVvVUphZEVNbnJtb2xtOTlS?= =?iso-2022-jp?B?MFRsaG8rMTVkTlJJY3FXTHJmWEtYZzhOVG02UlV3Z1FpWkVldzE3aFFy?= =?iso-2022-jp?B?TTJnK044YnRGREI2bXhlTEJSQ1V0RGJBVDRKaThTN1NHN2dYN1BINVJ0?= =?iso-2022-jp?B?L3RmZThVZDlDMkVhdEtldkFSZWc4WGFMWGpTZDlXQ1pmNFlKWlBrN0Zz?= =?iso-2022-jp?B?NUs3MUgxS1p4dEhqQzFZUDdUODFlSUxzYkt4U3c1Z0FpaVlMSDdnWE9K?= =?iso-2022-jp?B?OUp5NXNFK1JCZ3dVcldXRzRCTVVKNEM2c1V5Mm1yODJ6elh0NnNtSEVB?= =?iso-2022-jp?B?czdoTm9YTHRrYzF2RVpQbENjRVFjTTJRRk1COVRiaVhEUG1oRVlPY2dD?= =?iso-2022-jp?B?S1pIam9JOEpBUnRBMkFJb1k5YTNsNmJGYUErd0xVYk5CYVg4R2VhTnZF?= =?iso-2022-jp?B?aTV1YitpOWFLUWtCZlNWTXM2YlI0ME42aXFYZ2JWWHdRNFdEY2ZmNGNY?= =?iso-2022-jp?B?aHlGOW9rZHl0UjE4QWxMdmFBdGlyKzloMUNyQ1RIYmdteU1pWGtsVi9F?= =?iso-2022-jp?B?RHhUcmVzTXpDZmxpM0NBYWNIWExZc1ovQ1lWcXFWSmMyVDA1c2doUGlE?= =?iso-2022-jp?B?alRoVlVnK1k4TlVvUTZhck5kT1pNVlBqTWEyNlB1eU9MalcwM2l6Z0pV?= =?iso-2022-jp?B?dUtBWGswaXVwUWc5ZEhzcXJJRit5QmRaeGlLV2FheHRmRk96NVBxbEdR?= =?iso-2022-jp?B?ZTRpbWtBQlE1TmZ4a0RZYkdhaS9LVEtlT3FPUGZGa3U5Y09KeHRWVldk?= =?iso-2022-jp?B?REpUbVJHdjIzbVFYZE9Cb2dWVkQ0UWN4WVFTVnQvWFlMb3VOUUJYZGFV?= =?iso-2022-jp?B?TCtqYlRKcVYzNWx0eDJLZk15bnFLSGs2K3k5Q3Y0djNmNG5Jd3VreGtX?= =?iso-2022-jp?B?Y040dHlrZE1pRG52K3UrMG1YWmRndjZzTXdHaWkrWGUra3l3bHdocFpx?= =?iso-2022-jp?B?T2FuZVd5Rng2cm1DUzZYeDBxbjJsV0g4cmU1RC8ycjVmazh2K3dic3lD?= =?iso-2022-jp?B?QnJRalI2SkhCQmZrUVRqYmhxdVIwTXBKVlFQeVU2eUNtSmRnYnhXWG95?= =?iso-2022-jp?B?YnVORUNUTG1ITkl5bGEvMndWNksybGcrVnNaRTk4Q3pNQmJlWi9qT2Y3?= =?iso-2022-jp?B?VTlvQk5rRVBsclZ6cms2Lzg3SEp6c0N5NXR4eC9SSDUwa1IrUWlvUmNp?= =?iso-2022-jp?B?dlp1cGJaVlpyR2RacFNhcjZlU3FBSHRINUlaTS96L2ZJWndueGRCc0pU?= =?iso-2022-jp?B?RzlUZA==?= Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: df.MitsubishiElectric.co.jp X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: OS3PR01MB6660.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b74740ef-343e-48c4-2bde-08db6b2248dd X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Jun 2023 08:51:59.8115 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: c5a75b62-4bff-4c96-a720-6621ce9978e5 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: XTOtWNM7T5tDJxmetFlGZRAGT8xAnM20opFX20OB1cSFCR/YOB5OMZzubkK+4iRL+5SWrVgw3VazH+iyZmyntg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: OS3PR01MB10325 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi Mr.Bruce, Mr.Pyhalov, hackers. Thank you for comments. I will try to respond to both of your comments as f= ollows. I plan to start revising the patch next week. If you have any comments on t= he following respondences, I would appreciate it if you could give them to me this week. > From: Bruce Momjian > Sent: Saturday, June 10, 2023 1:44 AM > I agree that this feature is designed for built-in sharding, but it is po= ssible people could be using aggregates on partitions > backed by foreign tables without sharding. Adding a requirement for non-= sharding setups to need PG 17+ servers might > be unreasonable. Indeed, it is possible to use partial aggregate pushdown feature for purpos= es other than sharding. The description of the section "F.38.6. Built-in sharding in PostgreSQL" as= sumes the use of Built-in sharding and will be modified to eliminate this assumption. The title of this section should be changed to something like "Aggregate on= partitioned table". > From: Bruce Momjian > Sent: Saturday, June 10, 2023 1:44 AM > Looking at previous release note incompatibilities, we don't normally cha= nge non-administrative functions in a way that > causes errors if run on older servers. Based on Alexander's observations= , I wonder if we need to re-add the postgres_fdw > option to control partial aggregate pushdown, and default it to enabled. >=20 > If we ever add more function breakage we might need more postgres_fdw opt= ions. Fortunately, such changes are rare. I understand what the problem is. I will put a mechanism maintaining compat= ibility into the patch. I believe there are three approaches. Approach 1-1 is preferable because it does not require additional options f= or postgres_fdw. I will revise the patch according to Approach 1-1, unless otherwise comment= ed. Approach1: I ensure that postgres_fdw retrieves the version of each remote server and does not partial aggregate pushd down if the server version is less tha= n 17. There are two approaches to obtaining remote server versions. Approach1-1: postgres_fdw connects a remote server and use PQserverVersion(= ). Approach1-2: Adding a postgres_fdw option about a remote server version (li= ke "server_version"). Approach2: Adding a postgres_fdw option for partial aggregate pushdown is enable or no= t (like enable_partial_aggregate_pushdown). Sincerely yours, Yuuki Fujii -- Yuuki Fujii Information Technology R&D Center Mitsubishi Electric Corporation