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 1x6M1w-000BQ3-2z for pgsql-hackers@arkaria.postgresql.org; Tue, 15 Sep 2026 05:48:33 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1x6M1w-00HVfK-0o for pgsql-hackers@arkaria.postgresql.org; Tue, 15 Sep 2026 05:48:32 +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 1x6M1v-00HVfC-3A for pgsql-hackers@lists.postgresql.org; Tue, 15 Sep 2026 05:48:31 +0000 Received: from mail-pj2-x11.google.com ([2607:f8b0:4864:39::11]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1x6M1q-00000000W7m-3XMK for pgsql-hackers@lists.postgresql.org; Tue, 15 Sep 2026 05:48:31 +0000 Received: by mail-pj2-x11.google.com with SMTP id 98e67ed59e1d1-396ccdaea75so967060a91.1 for ; Mon, 14 Sep 2026 22:48:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789451305; x=1790056105; darn=lists.postgresql.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:content-type:from:to:cc :subject:date:message-id:reply-to:content-type; bh=USckiTkXPPKddcIW0uJXisuW56cK0G2UdQnSWHQY67Q=; b=qASTjIX76VwD6OKwPQdVzdK9gDHqVulscRC56+d2fdzBNffsSdMoB1J/cC30dCQyrG MJHc0yvci/7MDp0/6CveLVS1F537JDt0PkgTjUgLpfnZb9RWMwEKyxIXK8v/p9aZ89jD qEoKzVekkl4Jo2wpQnliJHaFQ8wQqeKjEeuRrKuVPRf3AB8sBt+0hvvSE/Qne0zNWa+4 M/5gy2x0xL9leSaN8AtEGCzUEP4EN/kUW/AURwLyOOzo7PD0vCriJU1VYiC+HFMe55KB QAZSzQGjkiOS5dYS25Tq+Tvp0nGLVWbBkwb/ho69ZmQkpHmFgGGFZmqVqVtOBH3tr8ni ZEmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789451305; x=1790056105; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:content-type:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=USckiTkXPPKddcIW0uJXisuW56cK0G2UdQnSWHQY67Q=; b=eaEQuIngA56oSgN0z3Urd8X+U6/aUPydV3Br7O5ydOxWdcEzgQ1MqN1luOnQ39O0or zVEK0zhfTd1OHZLqyz3ANEUuJYDpnxbzV6l1b/RF5MtxljctHsYElC+2BJpVXzcMRiEs tddd++bflrKfyoYbP7W6NKiS0Kun7SU4VQkA52z5muHIJXiVvRd6SB8vqssg/Pbih0S8 Hflh2fmr+fHlcHT0PJ82Zaw7PfkBwpCXBKNCIkAzIRKf2gvhltvSWjo75a/f8sdSWr/z 2LLBVcKeWyWdvBF/PBovz/a8isahK6CW71JKN3ox3A/GyNXbc2TKZl3VlI3+FycPBfVv +OPQ== X-Forwarded-Encrypted: i=1; AKwUvBxQ/uZQBoFk/9Tti0euzPVLJGvgKnoTefFyhXEE9kX8DjM7kHanjWcsuzfmWhiUlMnfaMMRp0QPOezyNWEg@lists.postgresql.org X-Gm-Message-State: AFuF++nscZF3klhvW3DTg5QsKRgkazXjDrABosHp5ROpcl8uXbnlGxT6 XTyDcDAi9dsEbvc6I3yCwe7KKJJ6yhIhfvNO9fdqTZSRXbYVBPHP/XhL X-Gm-Gg: AYBFou32zFbafV2pZVjnJ7/F/clCmDiWDZAjb7rSPF9xalDjIdHkLc8IyF0BpuRaXt3 MySxjzErsvjLwqrcKHqalQy8Q2Ut+RnyQWjt1iuY7SIgr6Qnt6XnJLmiauQJdXwbPxCDED9To+F yR8mHakRwPOpL8xEkVqB7uDmyibJ5dby1k5nOO7cZwXH744XVIsMTClVfjqbh4FQisTDCJFRwXD F5RHEM2h5rrEzQ8O8AF1uJsiyxUccNafu3Fr1nYgyvbjHASnh4o9NGCwMSPg5Uul665TWe48tog DCAAszwDPO1PTSf9XdteL445CrlJVV0fY9G3SqM/e2MBM4Q7q1zFB0jfmEzpZ3aCWPa5sDrndGA zUlzaSA4+9cgpBJW4ciL59xEHalXx0MsS94XZTsuoX03pUtz3S3KZp7SHPWlURb2BI3VxpSGqMU 42foYlP8f+7SSzBXRj5FeF4bZZ0x/Bp8XvpOXuMzYWra8vXBoT4y2dR2B5cdVv73dv7BBkJJDps zJ7HWBkMg== X-Received: by 2002:a17:90b:2e49:b0:38e:7297:a92e with SMTP id 98e67ed59e1d1-39dfe0e21efmr2741847a91.9.1789451305309; Mon, 14 Sep 2026 22:48:25 -0700 (PDT) Received: from smtpclient.apple ([185.135.79.161]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39dfd6b9687sm3116651a91.0.2026.09.14.22.48.22 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 14 Sep 2026 22:48:24 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3864.700.51.1.1\)) Subject: Re: pg_createsubscriber does not check output_plugin_libraries From: Chao Li In-Reply-To: Date: Tue, 15 Sep 2026 13:47:49 +0800 Cc: "Hayato Kuroda (Fujitsu)" , "pgsql-hackers@lists.postgresql.org" , Fujii Masao Content-Transfer-Encoding: quoted-printable Message-Id: References: To: Jacob Champion X-Mailer: Apple Mail (2.3864.700.51.1.1) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk > On Sep 9, 2026, at 00:33, Jacob Champion = wrote: >=20 > On Thu, Sep 3, 2026 at 8:49=E2=80=AFPM Hayato Kuroda (Fujitsu) > wrote: >>=20 >> Hi hackers, >> (CC: Jacob, who was an author of 226e49cb) >=20 > Hi! Thanks for the report, and sorry for the delay over the US holiday = weekend. >=20 >> 226e49cb added a GUC parameter to specify trusted output plugins, and = slot creation >> would fail if a give plugin is not listed there. >=20 > Right. (pgoutput is in that parameter by default, so the case in > question requires a DBA to remove it and then be surprised at the > results.) >=20 >> pg_createsubscriber command creates replication slots with plugin = 'pgoutput', >> without checking the GUC. This meant if the plugin name is not = specified in the >> parameter, --dry-run mode passes but actual convertion fails. >> It's very surprising for users and should be avoided. >=20 > Isn't this the same behavior as for all other permissions issues? We > don't check for > - REPLICATION privs > - permission for FOR ALL TABLES > - CREATE on the target databases > - ownership on a publication to drop > - permission to call pg_log_standby_snapshot() >=20 > Looks like all those pass a --dry-run and then fail later. >=20 That=E2=80=99s a fair point. The distinction I had in mind is that this = patch explicitly adds a check for output_plugin_libraries to make = --dry-run more useful. But when the caller cannot read that setting, = pg_createsubscriber simply does not have enough information to perform = the check. Would it make sense to print a warning in that case, rather = than silently letting --dry-run succeed? Best regards, -- Chao Li (Evan) HighGo Software Co., Ltd. https://www.highgo.com/