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 1rPTxH-00BtfP-6d for pgsql-hackers@arkaria.postgresql.org; Mon, 15 Jan 2024 20:53:12 +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 1rPTxF-000731-Q7 for pgsql-hackers@arkaria.postgresql.org; Mon, 15 Jan 2024 20:53:09 +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 1rPTxF-00072t-01 for pgsql-hackers@lists.postgresql.org; Mon, 15 Jan 2024 20:53:09 +0000 Received: from mail-yw1-x1131.google.com ([2607:f8b0:4864:20::1131]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1rPTxC-001hpX-9C for pgsql-hackers@postgresql.org; Mon, 15 Jan 2024 20:53:07 +0000 Received: by mail-yw1-x1131.google.com with SMTP id 00721157ae682-5ec7a5a4b34so96471057b3.0 for ; Mon, 15 Jan 2024 12:53:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=joeconway.com; s=google; t=1705351985; x=1705956785; darn=postgresql.org; h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc :to:content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=P3NG9+hRjyj/C3OIaXscGNJM7MPpWOf3BVI4h5eTJos=; b=o1f8pnrzSNoUQQV1/FG/ytVh9byOBERi3axmb9mu3kCArI0arh0EWUTIsgvuG093lB x81/H4xdHxbu5G8jjZm2D7SZ88Jo+dVXDEzXpuORu1awwKzCBYT90d4PEYA7DEuH6NV+ RNJxJrimNUfZEQRuFsmfjLQFS4IauQRrwxH8QGZCHpgxezpgfSBWCxSqtegJmSxQHIZy et641UNgpTqYYY9mN4ig3CZ92BzThlUwbHAuILcBpyBJn+HTTiUYIVH6D1p3sgBUPYQC RN2j4nsSfivapHXrEciJr201TngfWR/VtELGFF/aM3d/nkWrWshFLWU18/y7QRI/KCSM N/rw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1705351985; x=1705956785; h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc :to:content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=P3NG9+hRjyj/C3OIaXscGNJM7MPpWOf3BVI4h5eTJos=; b=ev1PIxdj9DpaTnVVkiEy6rWLaR8KuHgDSfTuIZG6O8PEq6KML77dYV2VQp+YtTbUYz B9tgWy1UK0C2DvYxFmRERdmRpGoPEOBuIaimUdz33YD/eHDc/luaSdho9y3gdQdHT+61 7PE3EUB3im8+tRi8wPEypxxOxr1DXP7+8fd6ig/LN4tbcIdNK6A1oojDtX8a4EyPpZ6m eBvtgDVbHA0ugORGlFhMEMwHjHOUSFkAlSMjaXtmtkmLIWuYzX0qeu5G+zEClIS37RJS REy8pg80zfRuSXGVez2Y5VMVq/R47oRmdtig11FobYEtWBXNXTTOzFFGIf66TH8aElXc k0Pw== X-Gm-Message-State: AOJu0YzpADBdJ0Do63vB/OOFzdtYt66+zUGwK/QL7oX3wJ8Re4coJPrs /ye72kzGahj00MkfOuT9Y+4jP8RS0KOyiA== X-Google-Smtp-Source: AGHT+IGFpM6pb70tn34dJdfKWK3ZGvDgrwMrfFo3F2y0/SU7lcqTX14KCCm1y/hKObb3zXPb4n8fQg== X-Received: by 2002:a0d:cb4c:0:b0:5e7:bbdf:2eb9 with SMTP id n73-20020a0dcb4c000000b005e7bbdf2eb9mr4784689ywd.28.1705351985425; Mon, 15 Jan 2024 12:53:05 -0800 (PST) Received: from [192.168.4.41] (162-239-31-113.lightspeed.dybhfl.sbcglobal.net. [162.239.31.113]) by smtp.gmail.com with ESMTPSA id u15-20020a81a50f000000b005eeafe4f70csm4213986ywg.57.2024.01.15.12.53.04 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 15 Jan 2024 12:53:05 -0800 (PST) Message-ID: Date: Mon, 15 Jan 2024 15:53:04 -0500 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [17] CREATE SUBSCRIPTION ... SERVER Content-Language: en-US To: Jeff Davis , Ashutosh Bapat Cc: Bharath Rupireddy , pgsql-hackers@postgresql.org References: <149ff9264db27cdf724b65709fbbaee4bf316835.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> From: Joe Conway Autocrypt: addr=mail@joeconway.com; keydata= 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 In-Reply-To: <2a89b14a2b1622bffb8b137ca1f9ab7866f2d2b9.camel@j-davis.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 1/12/24 20:17, Jeff Davis wrote: > On Fri, 2024-01-05 at 16:11 +0530, Ashutosh Bapat wrote: >> I don't think we need to add a test for every FDW. E.g. adding a test >> in file_fdw would be pointless. But postgres_fdw is special. The test >> could further create a foreign table ftab_foo on subscriber >> referencing foo on publisher and then compare the data from foo and >> ftab_foo to make sure that the replication is happening. This will >> serve as a good starting point for replicated tables setup in a >> sharded cluster. >> > > Attached updated patch set with added TAP test for postgres_fdw, which > uses a postgres_fdw server as the source for subscription connection > information. > > 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. I took a quick scan through the patch. The only thing that jumped out at me was that it seems like it might make sense to use quote_literal_cstr() rather than defining your own appendEscapedValue() function? -- Joe Conway PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com