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 1rceqt-001IyA-EN for pgsql-hackers@arkaria.postgresql.org; Wed, 21 Feb 2024 05:09:04 +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 1rceqs-002kK1-0P for pgsql-hackers@arkaria.postgresql.org; Wed, 21 Feb 2024 05:09:02 +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.94.2) (envelope-from ) id 1rceqr-002kJt-HB for pgsql-hackers@lists.postgresql.org; Wed, 21 Feb 2024 05:09:02 +0000 Received: from esa12.fujitsucc.c3s2.iphmx.com ([216.71.156.125]) by makus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1rceqn-000DEN-9E for pgsql-hackers@postgresql.org; Wed, 21 Feb 2024 05:09:00 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1708492138; x=1740028138; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=ds9JBTzuM42Llb3US4zpb5NIkqQe+1ATGaWr0OBIEs0=; b=S4tD519Kq+B9LL6oAKPGClhE5XAWti3r7C+T/iEqPO/IhaCCyAbyJIf9 QylPx6O30rgdEJ22NZmPngFoVJXlT6kZmsxb1B3k+0yatdKfci3ikM341 kmAlphnaJYQpJ7SkALt4gf6aPZsXe07c2CpacR4RvME9fsKbppElF1aFA QaWwZORNBd+CoWHKQHdqbjmyjnQhJ5grXmhUOyoQSYUm81XwVVAAk1pLK +LlgfQLjKBc/5DB3DrltDKFl5aVLYJjMDCEJ4n7ttH82Qf5GO9XoBYP/t +h0d2KNHdDw5wYe8bAEa/P3Ibh9m5rHmjFXrUqLN2252Uz6OWud1Qguo9 w==; X-IronPort-AV: E=McAfee;i="6600,9927,10990"; a="111975390" X-IronPort-AV: E=Sophos;i="6.06,174,1705330800"; d="scan'208";a="111975390" Received: from mail-os0jpn01lp2105.outbound.protection.outlook.com (HELO JPN01-OS0-obe.outbound.protection.outlook.com) ([104.47.23.105]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Feb 2024 14:08:55 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WfMrvmQy48YR3BqJ3ztf25O1bz+uxtRqIgYLmab/fmHy5ghlCFkG/eSn1fizqlldJIUbp5attihNrep97KycE8LC665c+KqW4pKeMXxc1LYOiY26/1Mp5pDfPIPCOvKTjwWZKZ1yfxpjlbc5Vc6wJzsVF9iI0s+1J67d40W4sKUnYUfK2UI9DDRH8JT1YKWKB6fk+8jl6V9XbkRoseNZnM65LvgvQ8jCv2hHQG3eGhqzqhU1zrpDAYTX1MiN06hPdFXEJy931GxUc6yQwHJgDc70JeiceVojq7R5D0ig8lti9zEX6TIdeXUOcu7NG1dHZunTe5UJMbq0k+ety38P3w== 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=ZPFHx9i3AGsjK5ERMDhxmUHqLrb1QkLkgCa6gWOGNgo=; b=ILJChll08+SRF1WO9Y30jGvKJEL4RSeNH3vECISjmX0+dUjJ/Ii2oDdWkjNjACfr0YzexWjEdTuDRHRNy7yKz1R2OV85rwFOGr+AKbtHSyNUIXsTdj1M5s8S5u4Sa1W49CEdiyvWYVlK4RgM+EoNfCnoT8mkfK/S+FY544xgQHNd1X9hBp/6TlAL0RKRrjpcrtKhg83V/u9OkvVeEljUDlKHcx641M0WG0rZXCvGgsm9qMg90Ak4oWaVMmoBttKaveskmJkzWsHAtvwFsOiEVbDM7B2SQJXeUclJ2ngE3KriGdmKl5wAWiDXnE0+SgPZRHYWHqJpFnMGVhbLpXyBZA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fujitsu.com; dmarc=pass action=none header.from=fujitsu.com; dkim=pass header.d=fujitsu.com; arc=none Received: from TYCPR01MB12077.jpnprd01.prod.outlook.com (2603:1096:400:439::5) by TYCPR01MB12108.jpnprd01.prod.outlook.com (2603:1096:400:43c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.39; Wed, 21 Feb 2024 05:08:51 +0000 Received: from TYCPR01MB12077.jpnprd01.prod.outlook.com ([fe80::543b:d834:2d92:5ec0]) by TYCPR01MB12077.jpnprd01.prod.outlook.com ([fe80::543b:d834:2d92:5ec0%2]) with mapi id 15.20.7292.036; Wed, 21 Feb 2024 05:08:51 +0000 From: "Hayato Kuroda (Fujitsu)" To: 'Kyotaro Horiguchi' CC: "barwick@gmail.com" , "pgsql-hackers@postgresql.org" , "robertmhaas@gmail.com" Subject: RE: Have pg_basebackup write "dbname" in "primary_conninfo"? Thread-Topic: Have pg_basebackup write "dbname" in "primary_conninfo"? Thread-Index: AQHaY4w65IBe/94StU+MpHyUhcCkE7ES+IvQgAAZ+YCAABLU8IAAJQ4AgADT2gCAACE5IA== Date: Wed, 21 Feb 2024 05:08:51 +0000 Message-ID: References: <20240221.120424.79274783106518358.horikyota.ntt@gmail.com> In-Reply-To: <20240221.120424.79274783106518358.horikyota.ntt@gmail.com> Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_ActionId=beb83c30-2969-4a9d-b861-7e636aba950d;MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_ContentBits=0;MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_Enabled=true;MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_Method=Standard;MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_Name=FUJITSU-RESTRICTED?;MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_SetDate=2024-02-21T05:03:30Z;MSIP_Label_a7295cc1-d279-42ac-ab4d-3b0f4fece050_SiteId=a19f121d-81e1-4858-a9d8-736e267fd4c7; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=fujitsu.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: TYCPR01MB12077:EE_|TYCPR01MB12108:EE_ x-ms-office365-filtering-correlation-id: 5f18b957-dca2-471c-5a0c-08dc329b31ca x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: +TjQFfxytP9DHsQUz8xG4WpohW1M7i4JXca8uAjKCR/4VV0QW+KTeWejrP058vImRZ5CvwxVujAZYrRvn3MYtpcqUzZ7+fB8IpnbIzSrutNtZ2cBXKZqaSfDZsOsRy0uIu6lqhprBVzQ6N/3k593eo6CPJ5s7YbOkrmGJf1AdE2Vyg820PygSrH4SMfMbLhmW7GdJnweThNRw8BwnApWZo0T/x547EA+gm3M8XMFYsCSUNlH2knIi/ZitiVWUz2xHJFldGox6HGwbjpzSWGv000COZSyUMH+REEy2++oylLS/x5yUo7wnonjIgkeeO5Zrn6X/JqvWF40wX9Ao7AMQ2kTBFBhhx4jHOeotdacUUEga2krtjyjAPeuwHlxm3BtLzh/MmQD2lwzB5IAbulkh36SX6XPRgQ9O8AtUKf87VLp3o5uA0V4pF0oEldOEgjVLnqeY4Limvguvp7VTC6QbhnO8a6YLX64FT8sYrIIWuppK9UX7ENkL/Z4wS+v2+g9HY8p7ZO5tnitFgF+zkwp4hgGsnVgJrdeiwlEK0PIBMoNyCX8GY72m+VeIdpvcps1I7zQi97GUKL2A2bYsJCQiOer4dX1bXwekVeJFFFAg2lywXKJrAiG1dCuZ5TpDo7/oAkXEBOjUHd/tKdYZUy1CA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYCPR01MB12077.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(1590799021)(1580799018)(38070700009);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-2022-jp?B?cjdNQWdhWGQwREQzQmQxekxFcU9PSnJ4N0lMVTZ4MjlTUkJMdGRsR3hw?= =?iso-2022-jp?B?bGx2c2ZhMXhWZW9GeU50UmhMNy93M3IwQm5qM2IvVENTaWhmaEdCWXBC?= =?iso-2022-jp?B?OEdsbk8ramZUMmFUTGFFNmpEYWRUSHoxSFhiNnRkNU81L0hqck5rUXhE?= =?iso-2022-jp?B?RlFkeTROM1pvcTk1d1haNEJhVmxGMlgzSVJEWnVKOTBweTdnSGxIeWsy?= =?iso-2022-jp?B?WVVxYzZ3b0EydWlxNlZ5YWhzQUl5STN4VUFrRVJpZXppVEZ4enk4RzhF?= =?iso-2022-jp?B?OHhrMCtKOU90dXlFWHBtZkNjSENGUWlHL1hIZWdETXl3Y3NFRHc2NFo2?= =?iso-2022-jp?B?dXpZWGFmY3NGakgzTEVIVU0yaDN3bUloMHZDUm1HVEQ2STc2LzB2TW8y?= =?iso-2022-jp?B?eWsvaFBIVHJwUUJVVWYvZkYvMmRuL1QzbEpZckxqU0VkczA1UjlKcW1I?= =?iso-2022-jp?B?blNoNnE0Y21qd3VDckRmQlFOSkRjL0ZUNUx5U1picHhsOC85VFl2U2Jh?= =?iso-2022-jp?B?V0hrN0RzUEI0bEorYmRCQTVqS3BLWTVLN0NhWWZYTVNBUTZZY2ZnWUk3?= =?iso-2022-jp?B?aEFIYThVcnptRFZDN25iUnNvcS9xL3F3bDdYdjFUN0w1NHNCS05BYVpJ?= =?iso-2022-jp?B?UjVHbE54c0RaWW04LzNLdVFjT2tYSjlPd2o5UWRUTUFScm9ZR2ZPa2cr?= =?iso-2022-jp?B?WEY5UUQvQmJITC91bExIWGNYclFKRXN5aHJFanI2aHhxWnVQMkhWUmlJ?= =?iso-2022-jp?B?aVRsUTZuTjhxMzZBRnZ4dDRXRFp3RWhFeTZKQTJURlNFUFR2SENxR2E5?= =?iso-2022-jp?B?QkRUOE9VUmg1VXFzTStleFVsZitWZnd0Rys5d0JSM2ZOd2tZeWhGcERI?= =?iso-2022-jp?B?Ym9pU25PT0Zadm5JcHNOSldlRE9nc1RIbXRMWkFDRGpFVk0vLzBiL2pJ?= =?iso-2022-jp?B?U2tWMW8vL3lnRmdaMmsyQmFpWEttaWhuMDdtQjYvWVRCcTdHNklXMnIz?= =?iso-2022-jp?B?SCtjV0dFU2JWTGlacHNZSFJ5ODcySGZxSEJSa3NITDZ6ajk1czFVV1Qz?= =?iso-2022-jp?B?cE90b2pVb2hiUWVWUHFaS2ZGU1hkVzk2Y0lCeDNoNmQvcXNKNlhrWmVP?= =?iso-2022-jp?B?RU9VYkQyY2ZDMWZPUklvUVUvRk8xeUg3M0UxY3pDdG8raHk0S0czeVh6?= =?iso-2022-jp?B?OGxnekVleGt3RjhJZ09VUFFBd3U2c04zQUFzQnk5eTBuSlRTaHRES0tL?= =?iso-2022-jp?B?K2FWcm1ESExneVVTMTVQYnhmd0ZTTG93bmhjUWt4cGRQYzcwZDRkQXBw?= =?iso-2022-jp?B?MG1nTERKZTk4RHBFUytFQnJJYmNJL3UrSm9BMWp4K3ZkOE1TbjdBK3Jl?= =?iso-2022-jp?B?K2NkZWhKTmtrV3ZqN2ZUQWc0ZFJscWZ3MUR6aXNxdEE1dGtHT2JuOG1u?= =?iso-2022-jp?B?MUpKU2R0cVFpUEdBOUVXYU9OOS9kMEYrcktqcVVweFFzUmV6bmRwRHlI?= =?iso-2022-jp?B?ZTAzSEFJZEszdGlrRUErKzZENktCamNXU1B0Sml6UE1vZ2E2N0xVWnBi?= =?iso-2022-jp?B?amI3d0RQazFGS2R4OHVKOUo5TVY1SGJzYmxrOGRrTTY0emx5Yk92Tmd5?= =?iso-2022-jp?B?YitTbkFleHVkaS9YcnRyUUtvbHFnL2FYSE1hL1lvRkhZck5obTF4Wmww?= =?iso-2022-jp?B?KzY1Z2M2c1RibFh0K1dCR1dQRVFGRk81M1FXUUVPc245YWRjUFlkaHdD?= =?iso-2022-jp?B?WlRhSytnTlFXQnN6SFprUHR0VzdsK05vOGdBNVdPNHl3akp4dUM1YmdD?= =?iso-2022-jp?B?Vms4Rm9iUjlqdlU4R3ZmMkNKSWxUbU9iaTNtNjcydW9FQ1VXUDBvdzE0?= =?iso-2022-jp?B?YU5hbitSNjA0ZElzNzl5ZnlhbnBlbWRpNDBxRzlXNE5CRis3b0lzMWdL?= =?iso-2022-jp?B?cTlPL0hhL3NkeW43N2VHWTN5SjRIMEZlZFBmcytPSm9HVnNDdFNSMENF?= =?iso-2022-jp?B?Ym9QS05aME0yVjJrZm8rTjhBOWxoT3hFakJEV1VPV1gxR2N6a2xweFM5?= =?iso-2022-jp?B?YURIdTUxOHlEY0hnQ2ZxZlpxd0EwMmcrMkE4ZWpyMFBaaTJ1SnpWNTJG?= =?iso-2022-jp?B?aG9KMjJZTEpnWENmSlBqRGs2RUJzUGszQWhNUHZhVHpSLzI5QnE0MVlX?= =?iso-2022-jp?B?VHdVQ2UySkdPWWdHV25ERTVPWnczUWRLUG1yZzJpdldnRXZEWm4yaHIr?= =?iso-2022-jp?B?cFZ1Tk93dE5zS2kwVmxBR0gxdk9kcVl2Uk9PZjZwU09HODU5Sy9yY1Q5?= =?iso-2022-jp?B?eGJNalFEK3VZQkFwRllPaWRRVnQ1Q3VnWnc9PQ==?= Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: h/0MAdX98Eo+R/E2T1+/ETUFggiwIY9mSnk8dsxMlRpIhvfuPTq/mgpWLYy13ypIxf4PzgLfZiZBGJVm40dShVog9kGZm5qsTe6NFqyu+3d2GLMdQllyGeybQVScxCh+WJqy+ZUzQ8YqR0WA5ZcXoJVfH4LM99uMCaq582soLsmMq1hRRJXnzJWw6MyiNrANa2ZwSTJnEH7rqClBaZdk64lavy2fRo1KmtJqKWbEVxK0dNyd+mVf+n5e+3oDLx+eC5enrN3yL25GOsqm3EGro1MXv6Vbtv/j0ODlgVLykVBfu8zLD4Gc9Rl5XRfyRamsSaBnBdJgFXEDbIzlJDc1PYdZHG5YEtstZEFFUwKngXQSx1cVUumIO5rBIzTmhpj7W8hCgJzC0oZsh4l8NnHsy7/fy/oYifA41YNgzVjM4Xa3vVcx6UIO1GiIq7DJQlrOImHFS3TYPs/N6XLL1aFjuZnKBlBP21JnQvFBhA1e+InD6M64gcC7POP7uq8rdyyd1QJhgU1Nv8+bePOPw8OX/DFixIetmGtEVow394OM46f05Iw6mY3dDhHr80HGUlsPUSqfAC0jnEH8m24jdare65dKnSKl14nFKljUjhT4Dwmi5kYUbcXSZjEo5pNmE3T7 X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYCPR01MB12077.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5f18b957-dca2-471c-5a0c-08dc329b31ca X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Feb 2024 05:08:51.6260 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a19f121d-81e1-4858-a9d8-736e267fd4c7 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 2qif5SHd0Q+GXx3NGtVIx+VawpkPd9TR8njFcd0thpGeoU+fTjT8fwxmus3IY2t1cdcwsyMujiMlilVhMIOqMNWiKdqDcfsgQ6BKBTmoAiE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYCPR01MB12108 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Dear Horiguchi-san, > GetConnection()@streamutil.c wants to ensure conninfo has a fallback > database name ("replication"). However, the function seems to be > ignoring the case where neither dbname nor connection string is given, > which is the first case Kuroda-san raised. The second case is the > intended behavior of the function. >=20 > > /* pg_recvlogical uses dbname only; others use connection_string only. > */ > > Assert(dbname =3D=3D NULL || connection_string =3D=3D NULL); >=20 > And the function incorrectly assumes that the connection string > requires "dbname=3Dreplication". >=20 > > * Merge the connection info inputs given in form of connection string, > > * options and default values (dbname=3Dreplication, replication=3Dtrue= , > etc.) >=20 > But the name is a pseudo database name only used by pg_hba.conf > (maybe) , which cannot be used as an actual database name (without > quotation marks, or unless it is actually created). The function > should not add the fallback database name because the connection > string for physical replication connection doesn't require the dbname > parameter. (attached patch) I was also missing, but the requirement was that the dbname should be inclu= ded only when the dbname option was explicitly specified [1]. Even mine and you= rs cannot handle like that. Libpq function PQconnectdbParams()->pqConnectOptio= ns2() fills all the parameter to PGconn, at that time the information whether it = is intentionally specified or not is discarded. Then, GenerateRecoveryConfig()= would just write down all the connection parameters from PGconn, they cannot reco= gnize. One approach is that based on Horiguchi-san's one and initial patch, we can avoid writing when the dbname is same as the username. [1]: https://www.postgresql.org/message-id/CAA4eK1KH1d1J5giPMZVOtMe0iqncf1C= pNwkBKoYAmXdC-kEGZg%40mail.gmail.com Best Regards, Hayato Kuroda FUJITSU LIMITED https://www.fujitsu.com/=20