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 1twu2i-000qXy-Rn for pgsql-hackers@arkaria.postgresql.org; Tue, 25 Mar 2025 02:29:29 +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 1twu2h-00Dhrb-Ev for pgsql-hackers@arkaria.postgresql.org; Tue, 25 Mar 2025 02:29:27 +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 1twu2h-00DhrT-3x for pgsql-hackers@lists.postgresql.org; Tue, 25 Mar 2025 02:29:27 +0000 Received: from mail-yw1-x1135.google.com ([2607:f8b0:4864:20::1135]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1twu2e-000zOr-2o for pgsql-hackers@postgresql.org; Tue, 25 Mar 2025 02:29:26 +0000 Received: by mail-yw1-x1135.google.com with SMTP id 00721157ae682-6feafc707d3so44425977b3.1 for ; Mon, 24 Mar 2025 19:29:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1742869763; x=1743474563; 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=HUUISvG2qJmgv1/wSvifhD+nhra1EiEE8fga5+ck76g=; b=GJSWcX1Ygg3jwOe/AnHPm0aQG28zXMYg+fcnExaJ0BwbLD3Rgh3IOKg3zy2zDR7OXp uXHBDMtUlkS1LuP51wK35qlcYDp3xJkZI8zfF57TJVsWzMgM88h0EezkkhbqMdxnCGzr LdtwJygonL9b2okHbqYi5xXSc5cBAnELgvLm2KUZoXbeLEGZIj/lrdL6QgheACnMonkx Bf4LDNZu0pMbOIWsIQjr46kWoAKo+F3WAaKvoQzPKDN5LEad4+bniyAB9KnN56sIEdS+ MPMXhvsvrljijCuW/AwoqF8se2dr/nzwNpf/5P88KyPIHYAMLoaLWm2peZPyYbKGrJ+h hMNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742869763; x=1743474563; 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=HUUISvG2qJmgv1/wSvifhD+nhra1EiEE8fga5+ck76g=; b=YLj9WmFT+h34rTzGT66TJqJWSTa7s62VFiC8Ah4BQXbhaiDSexJAVMWpB67fU+c5oV TSyxiZSMQ8Er9d7t9FiuHYH7rrAb2v6rSshF8LYqhim6sZrpnhx8RZ9ef098d1kZwuhs l23q8lpaMr8l6nah3zPGl43VE3p5T5r1PNFrVPqc26Oqx3QSN2/aBDCod6I6e46/rg+a 6x2ZMy6A11XEXPw74gGzDcsvqY+kawQhx8FHOHGcrdbFIETyVnjDu6T8Y+swTBRyi/NP omUj60m1gsXoWAkHecxJKaZX4EPYRNzlcdUt92ptSWQKTANLk56DwK+cZr2tjgyWD+Xc /SmA== X-Forwarded-Encrypted: i=1; AJvYcCWbzdns5H1j7shfvzNbsjyYyq4UHYpgKZdpyqndCibT7uSjTEw3abDOkICw802HpKM+pMl3WwHts/Xbro27@postgresql.org X-Gm-Message-State: AOJu0Yw3eG9BEHTAlDc4DjONCcvKWOYF21om7BCJ/F6vT7t/XxiFKEEb PrARZ8UMQQMlEPslOzTeJURMfIW1wQPRuQcxHTTT37zJsCs1dSA/lBEAdhZ6kvUXOdelgqz/qLe Su6cCDozsDszoAKxolfYv7EcEYfA= X-Gm-Gg: ASbGnctIV8qfw1WLvoFzGPga3iwMPLVBFdG4HH6CSDLZ4zYxlqd45h2HkWRbheT/bV1 wkWV/hbaeBCrkALFnHlsEJzSIEaXbWTyn4LDD79g9vpKvvcQFa1CyP//4502G8D2vrelh0WmKo1 TKfZDxg3bAPA1E1zQF2nKSOUFF9Q== X-Google-Smtp-Source: AGHT+IEvMad9zUN3sZqooHelolHJe75ujWBDpqNhUlx86cW91INTLMc0k+EZ0kCwj0WhCWkq4UojW2zb84rnKU2Wnzo= X-Received: by 2002:a05:690c:338f:b0:6fb:4fee:6044 with SMTP id 00721157ae682-700bac61f86mr205383447b3.15.1742869763129; Mon, 24 Mar 2025 19:29:23 -0700 (PDT) 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> <0910b47040406c1d24ec0150dafb5bae6b910ed7.camel@j-davis.com> <7338f22c4534322a08ab6ce9f879e2e308eb5e5d.camel@j-davis.com> <34fd5885b8245d1014f4426ea22af61229d42e3e.camel@j-davis.com> In-Reply-To: From: vignesh C Date: Tue, 25 Mar 2025 07:59:11 +0530 X-Gm-Features: AQ5f1Jq80CyWlLkConQZDs5RVqf7k5m5AtiKuvgdKZz5wNb7jf6MH8hh4XqReSU Message-ID: Subject: Re: [18] CREATE SUBSCRIPTION ... SERVER To: Jeff Davis Cc: Ashutosh Bapat , Bharath Rupireddy , Joe Conway , pgsql-hackers@postgresql.org Content-Type: text/plain; charset="UTF-8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Sat, 1 Mar 2025 at 04:35, Jeff Davis wrote: > > On Mon, 2024-12-16 at 20:05 -0800, Jeff Davis wrote: > > On Wed, 2024-10-30 at 08:08 -0700, Jeff Davis wrote: > > > > Rebased v14. > > The approach has changed multiple times. It starte off with more in- > core code, but in response to review feedback, has become more > decoupled from core and more coupled to postgres_fdw. > > But the patch has been about the same (just rebases) since March of > last year, and hasn't gotten feedback since. I still think it's a nice > feature, but I'd like some feedback on the externals of the feature. Few comments: 1) \dRs+ sub does not include the server info: postgres=# \dRs+ sub* List of subscriptions Name | Owner | Enabled | Publication | Binary | Streaming | Two-phase commit | Disable on error | Origin | Password required | Run as owner? | Failover | Synchronous commit | Conninfo | Skip LSN ------+---------+---------+-------------+--------+-----------+------------------+------------------+--------+-------------------+---------------+----------+--------------------+------------- -----------------------------+---------- sub | vignesh | t | {pub1} | f | parallel | d | f | any | t | f | f | off | | 0/0 2) Tab completion for alter subscription also should include server: +++ b/src/bin/psql/tab-complete.in.c @@ -3704,7 +3704,7 @@ match_previous_words(int pattern_id, /* CREATE SUBSCRIPTION */ else if (Matches("CREATE", "SUBSCRIPTION", MatchAny)) - COMPLETE_WITH("CONNECTION"); + COMPLETE_WITH("SERVER", "CONNECTION"); postgres=# alter subscription sub3 ADD PUBLICATION DISABLE ENABLE REFRESH PUBLICATION SET CONNECTION DROP PUBLICATION OWNER TO RENAME TO SKIP ( 3) In case of binary mode, pg_dump creates subscription using server option, but not in normal mode: + if (dopt->binary_upgrade && fout->remoteVersion >= 180000) + appendPQExpBufferStr(query, " fs.srvname AS subservername,\n" + " o.remote_lsn AS suboriginremotelsn,\n" + " s.subenabled,\n" + " s.subfailover\n"); + else + appendPQExpBufferStr(query, " NULL AS subservername,\n" + " NULL AS suboriginremotelsn,\n" + " false AS subenabled,\n" + " false AS subfailover\n"); If there is some specific reason, we should at least add some comments. Regards, Vignesh