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 1rRu5F-00A4fW-Vr for pgsql-hackers@arkaria.postgresql.org; Mon, 22 Jan 2024 13:11:26 +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 1rRu5E-0041ya-AV for pgsql-hackers@arkaria.postgresql.org; Mon, 22 Jan 2024 13:11:24 +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.94.2) (envelope-from ) id 1rRu5D-0041yS-Sv for pgsql-hackers@lists.postgresql.org; Mon, 22 Jan 2024 13:11:24 +0000 Received: from mail-ot1-x329.google.com ([2607:f8b0:4864:20::329]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1rRu5B-0037oN-HU for pgsql-hackers@postgresql.org; Mon, 22 Jan 2024 13:11:23 +0000 Received: by mail-ot1-x329.google.com with SMTP id 46e09a7af769-6e0a64d94d1so1902016a34.3 for ; Mon, 22 Jan 2024 05:11:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1705929079; x=1706533879; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=8s3mn3ZAbT3A+y439MVb+VhpCzsudYXNLiMfyQUL5lA=; b=XCcHnLiob3rOObUzBHG3P/2pefJII8T6UHnneXKqnvcoJfj9YmFOpIn2Mcg8NrSHNO 6kZd8ww2icS9W4oV7j/THbcG+c/yiAx5Qbl+5wUs1UTxB6zmKVxYCqn7G26Gj4T15ErB BNdaWA3nmpM05qTegfBTuGFd3poLC82q87yJUJm76yt02hp7UEQpyEdcfY5onnKFUA69 AXXQKWiXnMo+/ggr8mppnhbYlUs7RNZWGYS20kHYRPpTpyY5BnowbYhOoiG+sMcRhwhx jN+vdxzXFe/cti2E5P96Si05HXMwO2AiUIVBwSkIH0ZqIsnNAzGA+sqj9E0lPrijnJqc Afzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705929079; x=1706533879; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=8s3mn3ZAbT3A+y439MVb+VhpCzsudYXNLiMfyQUL5lA=; b=MSK2RowNyLVgIH/4dqWAWkO0uJ2n5C7/ut+12NbUhehrgCII3hmJ7nJetRmKH4Lok6 CVhCCsbVZrzvU+B4eFuPhMlgVMuiXbe845cXp6O7j7MBsUSiq/jKuWhnrPEGYDJvg1yd JuUbSUKEQmxn+8ayW4XNaI+4JODyffDEN/jteGMgb1lHKnKSlZKTs2vRIY9a4Z+RP4nE qF1xJgkOLtOFfrfl+NTjjz3I4poAcW95zHW9D3jD2PWgfFEJjG/1H2pR1NTU6EFxmsgY /OjPGsKTtCpPlupowWWZNCuUcJh7vClz5/lrouQTluuOGOXq09g+zs7ifH0vdMzPkqRU +yug== X-Gm-Message-State: AOJu0Yw8VtHOO7O0GaKIJRatVXqfZ9QBAv3ChCT+bT3vs/wmC6dsLo7n Ga+nYqEi9aueE/gqRukptviqOgypEztcNe63d0OKn2t5CjNNYfBy/ULQhZO8K1bslJMkd1P13Ae X9pYEWcqqL2IKAeFej44azWbYNxI= X-Google-Smtp-Source: AGHT+IF7VghZylsBa38t9swV8lXmp0SkH+/CfcEHdLfsywrJJc8f5vcf+4qaGTOWDHxDVNCveVp7dIAejutm3nnKpAM= X-Received: by 2002:a05:6358:4419:b0:174:f06b:3359 with SMTP id z25-20020a056358441900b00174f06b3359mr1591306rwc.64.1705929079285; Mon, 22 Jan 2024 05:11:19 -0800 (PST) MIME-Version: 1.0 References: <149ff9264db27cdf724b65709fbbaee4bf316835.camel@j-davis.com> <830a2bc6cbbb2e6e01c6c0d9f31f320822e10603.camel@j-davis.com> <433d0845248e86c0317d9d396926182cfe157340.camel@j-davis.com> <05ae37abb207cd6bf6b126780024692d91402b0b.camel@j-davis.com> <93392ffa941ab0d436e19e0ab5d04d0e42c02d3f.camel@j-davis.com> <26be917cb07b6aa3ef5dd15f6b59d1b375ece6e8.camel@j-davis.com> <55201bd916e748acfc754c8f95880dae8e4e5ed0.camel@j-davis.com> <2a89b14a2b1622bffb8b137ca1f9ab7866f2d2b9.camel@j-davis.com> <61831790a0a937038f78ce09f8dd4cef7de7456a.camel@j-davis.com> In-Reply-To: <61831790a0a937038f78ce09f8dd4cef7de7456a.camel@j-davis.com> From: Ashutosh Bapat Date: Mon, 22 Jan 2024 18:41:07 +0530 Message-ID: Subject: Re: [17] CREATE SUBSCRIPTION ... SERVER To: Jeff Davis Cc: Bharath Rupireddy , Joe Conway , pgsql-hackers@postgresql.org Content-Type: multipart/mixed; boundary="000000000000c93415060f8890d8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000c93415060f8890d8 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Jeff, On Tue, Jan 16, 2024 at 7:25=E2=80=AFAM Jeff Davis wrot= e: > > On Fri, 2024-01-12 at 17:17 -0800, Jeff Davis wrote: > > I think 0004 needs a bit more work, so I'm leaving it off for now, > > but > > I'll bring it back in the next patch set. > > Here's the next patch set. 0001 - 0003 are mostly the same with some > improved error messages and some code fixes. I am looking to start > committing 0001 - 0003 soon, as they have received some feedback > already and 0004 isn't required for the earlier patches to be useful. > I am reviewing the patches. Here are some random comments. 0002 adds a prefix "regress_" to almost every object that is created in foreign_data.sql. The commit message doesn't say why it's doing so. But more importantly, the new tests added are lost in all the other changes. It will be good to have prefix adding changes into its own patch explaining the reason. The new tests may stay in 0002. Interestingly the foreign server created in the new tests doesn't have "regress_" prefix. Why? Dummy FDW makes me nervous. The way it's written, it may grow into a full-fledged postgres_fdw and in the process might acquire the same concerns that postgres_fdw has today. But I will study the patches and discussion around it more carefully. I enhanced the postgres_fdw TAP test to use foreign table. Please see the attached patch. It works as expected. Of course a follow-on work will require linking the local table and its replica on the publisher table so that push down will work on replicated tables. But the concept at least works with your changes. Thanks for that. I am not sure we need a full-fledged TAP test for testing subscription. I wouldn't object to it, but TAP tests are heavy. It should be possible to write the same test as a SQL test by creating two databases and switching between them. Do you think it's worth trying that way? > 0004 could use more discussion. The purpose is to split the privileges > of pg_create_subscription into two: pg_create_subscription, and > pg_create_connection. By separating the privileges, it's possible to > allow someone to create/manage subscriptions to a predefined set of > foreign servers (on which they have USAGE privileges) without allowing > them to write an arbitrary connection string. Haven't studied this patch yet. Will continue reviewing the patches. -- Best Wishes, Ashutosh Bapat --000000000000c93415060f8890d8 Content-Type: text/plain; charset="US-ASCII"; name="repl_table_test.txt" Content-Disposition: attachment; filename="repl_table_test.txt" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lroy4bo70 ZGlmZiAtLWdpdCBhL2NvbnRyaWIvcG9zdGdyZXNfZmR3L3QvMDEwX3N1YnNjcmlwdGlvbi5wbCBi L2NvbnRyaWIvcG9zdGdyZXNfZmR3L3QvMDEwX3N1YnNjcmlwdGlvbi5wbAppbmRleCBkMWQ4MGQw Njc5Li4zYWUyYjZkYTRhIDEwMDY0NAotLS0gYS9jb250cmliL3Bvc3RncmVzX2Zkdy90LzAxMF9z dWJzY3JpcHRpb24ucGwKKysrIGIvY29udHJpYi9wb3N0Z3Jlc19mZHcvdC8wMTBfc3Vic2NyaXB0 aW9uLnBsCkBAIC0yMCw3ICsyMCw3IEBAICRub2RlX3N1YnNjcmliZXItPnN0YXJ0OwogCiAjIENy ZWF0ZSBzb21lIHByZWV4aXN0aW5nIGNvbnRlbnQgb24gcHVibGlzaGVyCiAkbm9kZV9wdWJsaXNo ZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAotCSJDUkVBVEUgVEFCTEUgdGFiX2lucyBBUyBTRUxF Q1QgZ2VuZXJhdGVfc2VyaWVzKDEsMTAwMikgQVMgYSIpOworCSJDUkVBVEUgVEFCTEUgdGFiX2lu cyBBUyBTRUxFQ1QgYSwgYSArIDEgYXMgYiBGUk9NIGdlbmVyYXRlX3NlcmllcygxLDEwMDIpIEFT IGEiKTsKIAogIyBSZXBsaWNhdGUgdGhlIGNoYW5nZXMgd2l0aG91dCBjb2x1bW5zCiAkbm9kZV9w dWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiQ1JFQVRFIFRBQkxFIHRhYl9ub19jb2wo KSIpOwpAQCAtMjksNyArMjksNyBAQCAkbm9kZV9wdWJsaXNoZXItPnNhZmVfcHNxbCgncG9zdGdy ZXMnLAogCiAjIFNldHVwIHN0cnVjdHVyZSBvbiBzdWJzY3JpYmVyCiAkbm9kZV9zdWJzY3JpYmVy LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFURSBFWFRFTlNJT04gcG9zdGdyZXNfZmR3Iik7 Ci0kbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkNSRUFURSBUQUJMRSB0 YWJfaW5zIChhIGludCkiKTsKKyRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMn LCAiQ1JFQVRFIFRBQkxFIHRhYl9pbnMgKGEgaW50LCBiIGludCkiKTsKIAogIyBTZXR1cCBsb2dp Y2FsIHJlcGxpY2F0aW9uCiBteSAkcHVibGlzaGVyX2Nvbm5zdHIgPSAkbm9kZV9wdWJsaXNoZXIt PmNvbm5zdHIgLiAnIGRibmFtZT1wb3N0Z3Jlcyc7CkBAIC00NSw2ICs0NSw5IEBAICRub2RlX3N1 YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJDUkVBVEUgVVNFUiBNQVBQSU5HIEZP UiBQVUJMSUMgU0VSVkVSIHRhcF9zZXJ2ZXIiCiApOwogCiskbm9kZV9zdWJzY3JpYmVyLT5zYWZl X3BzcWwoJ3Bvc3RncmVzJywKKwkiQ1JFQVRFIEZPUkVJR04gVEFCTEUgZl90YWJfaW5zIChhIGlu dCwgYiBpbnQpIFNFUlZFUiB0YXBfc2VydmVyIE9QVElPTlModGFibGVfbmFtZSAndGFiX2lucycp IgorKTsKICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJDUkVBVEUg U1VCU0NSSVBUSU9OIHRhcF9zdWIgU0VSVkVSIHRhcF9zZXJ2ZXIgUFVCTElDQVRJT04gdGFwX3B1 YiBXSVRIIChwYXNzd29yZF9yZXF1aXJlZD1mYWxzZSkiCiApOwpAQCAtNTMsMTYgKzU2LDE2IEBA ICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogJG5vZGVfc3Vic2NyaWJl ci0+d2FpdF9mb3Jfc3Vic2NyaXB0aW9uX3N5bmMoJG5vZGVfcHVibGlzaGVyLCAndGFwX3N1Yicp OwogCiBteSAkcmVzdWx0ID0KLSAgJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3Jl cycsICJTRUxFQ1QgY291bnQoKikgRlJPTSB0YWJfaW5zIik7CisgICRub2RlX3N1YnNjcmliZXIt PnNhZmVfcHNxbCgncG9zdGdyZXMnLCAiU0VMRUNUIGNvdW50KCopIEZST00gKFNFTEVDVCBmLmIg PSBsLmIgYXMgbWF0Y2ggRlJPTSB0YWJfaW5zIGwsIGZfdGFiX2lucyBmIFdIRVJFIGwuYSA9IGYu YSkgV0hFUkUgbWF0Y2giKTsKIGlzKCRyZXN1bHQsIHFxKDEwMDIpLCAnY2hlY2sgaW5pdGlhbCBk YXRhIHdhcyBjb3BpZWQgdG8gc3Vic2NyaWJlcicpOwogCiAkbm9kZV9wdWJsaXNoZXItPnNhZmVf cHNxbCgncG9zdGdyZXMnLAotCSJJTlNFUlQgSU5UTyB0YWJfaW5zIFNFTEVDVCBnZW5lcmF0ZV9z ZXJpZXMoMSw1MCkiKTsKKwkiSU5TRVJUIElOVE8gdGFiX2lucyBTRUxFQ1QgYSwgYSArIDEgRlJP TSBnZW5lcmF0ZV9zZXJpZXMoMTAwMywxMDUwKSBhIik7CiAKICRub2RlX3B1Ymxpc2hlci0+d2Fp dF9mb3JfY2F0Y2h1cCgndGFwX3N1YicpOwogCiAkcmVzdWx0ID0KLSAgJG5vZGVfc3Vic2NyaWJl ci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1QgY291bnQoKikgRlJPTSB0YWJfaW5zIik7 Ci1pcygkcmVzdWx0LCBxcSgxMDUyKSwgJ2NoZWNrIGluaXRpYWwgZGF0YSB3YXMgY29waWVkIHRv IHN1YnNjcmliZXInKTsKKyAgJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3Jlcycs ICJTRUxFQ1QgY291bnQoKikgRlJPTSAoU0VMRUNUIGYuYiA9IGwuYiBhcyBtYXRjaCBGUk9NIHRh Yl9pbnMgbCwgZl90YWJfaW5zIGYgV0hFUkUgbC5hID0gZi5hKSBXSEVSRSBtYXRjaCIpOworaXMo JHJlc3VsdCwgcXEoMTA1MCksICdjaGVjayBpbml0aWFsIGRhdGEgd2FzIGNvcGllZCB0byBzdWJz Y3JpYmVyJyk7CiAKIGRvbmVfdGVzdGluZygpOwo= --000000000000c93415060f8890d8--