Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l0jJD-0005Vc-LY for pgadmin-hackers@arkaria.postgresql.org; Sat, 16 Jan 2021 10:59:55 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1l0jJC-0005dW-4S for pgadmin-hackers@arkaria.postgresql.org; Sat, 16 Jan 2021 10:59:54 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l0jJB-0005dO-Sf for pgadmin-hackers@lists.postgresql.org; Sat, 16 Jan 2021 10:59:53 +0000 Received: from mail-io1-xd2b.google.com ([2607:f8b0:4864:20::d2b]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1l0jJ7-00032L-M8 for pgadmin-hackers@postgresql.org; Sat, 16 Jan 2021 10:59:53 +0000 Received: by mail-io1-xd2b.google.com with SMTP id e22so23260367iom.5 for ; Sat, 16 Jan 2021 02:59:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=OX2aTMGTQktoJ4Cocy55Ha7v8tlsl2q17msBc/G6kOc=; b=Zl4go4spQUyYXncRr8xVRH6eg9OoDsN+7gUFXmL5M9t3LxcP7iknuMQcCONdXKD6aW xgOCVLlQcIzrRaf+ngqCQfNjeeneY5UD99c3XQyZUz5H8Ly+fETWqomZMtrMAf+XSciZ Iynz4ZELoSrCPnN4mb6LmU2vXmLkDIGHg3sFX0gzAo8eMV6dfWzdHU1cFlzcWza/SwHV czmF3uSppe0uAhedel1u4X4NTW8nfD38pQMuSlNAtIt7I/BdYIXEFGdYmjDlZRWWv7+e MuIUcwte7llde5g8u2GS3vDiHxgboQneAYCgjDL6QYQJJWQX0wHxOA0lhk4d2Dd2Mxjs IpQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=OX2aTMGTQktoJ4Cocy55Ha7v8tlsl2q17msBc/G6kOc=; b=X3opinPamiBEMNfYfdQc00qmUrgXKmVqwD8YS9y4YRwgzf0kipBJZZRg1oMoG5n8n/ OQli/hwtj8ezffslGaPWttPSegDBEWq/A5rkr3j+0FwlNzl4kHDmESVX452pqVTWHpfT sAdAnUFWbRZK+6O4fQ0IixS4Ej2eRcDw8+pgEgyOnzrkEaEsS1kXfhDQXStQKsmKEq6D tgt4063Uq1NqNUpsvFQyyjK1I+J9YP2/9itA3/UkmRga70kaqhQE8MKHoSZTGxlFTMi2 3L7fz3g76sNF9UV0L2E4KKx4BoQDrSypyN6y6YTzrKv1sneGZkcRNtlCDVNrBAKZL3P9 T7UQ== X-Gm-Message-State: AOAM530RkjVkJxCicgzdf7pWOhJ34I6+vl0us6wWq4idM3acoOYA32nV E8T/ypAJftU79nN+wDj0NnTrtk0WRV59xAbEV1vFeo4R6E2Zldq/lOd3qI5kDMdO8vp1cSbSHqu +wyJ/IOC8eJXTsX7BtGCTniWXr9ZKevRQTLlAH5Rf23MfQqZgdLXRmM9qaLL0rYttgs1bwKkxsf igWovfU8lFpEs6iG1PT1ZQE5nKcHeegivvD9UBDRgMyttrvGBrHUvB7GANSA== X-Google-Smtp-Source: ABdhPJxOnl2rLpnNNgQ7eFv7GAUO5Y6LuQczX+uBa9Pw84tjOQW5EmCULOys3hsagBbQW9+Q2uj8o6Qd2XrU4bGmmbk= X-Received: by 2002:a05:6e02:1985:: with SMTP id g5mr14188384ilf.257.1610794787578; Sat, 16 Jan 2021 02:59:47 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Akshay Joshi Date: Sat, 16 Jan 2021 16:29:36 +0530 Message-ID: Subject: Re: [pgAdmin][RM5912]: Added support for Logical Replication. To: Pradip Parkale Cc: pgadmin-hackers Content-Type: multipart/alternative; boundary="0000000000001eb93c05b902633b" X-CLOUD-SEC-AV-Info: enterprisedb,google_mail,monitor X-CLOUD-SEC-AV-Sent: true X-Gm-Spam: 0 X-Gm-Phishy: 0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --0000000000001eb93c05b902633b Content-Type: text/plain; charset="UTF-8" Hi Pradip Following are the GUI related review comments: *Publication:* 1. The truncate option is not visible for PG 10 but the SQL query showing it. 2. "All table?" should be "All tables?" and "Table" should be renamed to "Tables". 3. "-- Publication : test; -- DROP PUBLICATION test;" Follow the syntax(Spacing, no space between colon) as we did for other nodes. Check the SQL tab for any other node. 4. Select any publication and open the properties dialog, Save button is enabled by default which should not. 5. Create publication with (insert, update, delete, and truncate). Open the properties dialog and Set the value of Insert, Update and Delete to "No" check the SQL tab no ALTER query is there. ALTER query should be there. 6. 'Only Table' is not visible in the Properties panel. 7. On the collection node 'Publications' we should add Tables in the properties panel. 8. Create a publication using one table and set 'Only Table' to No. Select a newly created publication and set 'Only Table' to Yes, no SQL query is generated. 9. Adding a table in the publication should generate 'ALTER PUBLICATION .. ADD TABLE ..' syntax instead of 'ALTER PUBLICATION .. SET TABLE..' 10. Create a publication with more than one table. Remove one table from publication it is creating two ALTER statements one for DROP Table and another one is to SET TABLE which I think not required. *Subscription:* 1. Reduce the width of the subscription dialog. 2. *With *tab, alignment is not proper. Switch control should be aligned with others. 3. Help messages required for every control in *With* tab. 4. Open Create subscription dialog, specify the name, on the connection tab click the button to get the publication without specifying any details. One popup comes with msg 'host'. I would suggest to *disabled* that button until all the required fields will be populated or entered by the user. 5. Publication list from the same database server should be listed by default. 6. Specify all the required connection details on the connection tab and click on the 'get publication' button. It fetches the publication but no message for the user that action is successfully completed. For the user, it seems nothing is happening and the user will click on that button continuously. *Suggestion: *Show some message 'Publications fetched successfully.' or something similar. 7. "-- Subscription : my_sub; -- DROP SUBSCRIPTION my_sub;" Follow the syntax(Spacing, no space between colon) as we did for other nodes. Check the SQL tab for any other node. 8. Remove the unnecessary spaces from the following SQL: - CONNECTION ' host=127.0.0.1 port=5436 user=postgres dbname=postgres ' - with (enabled = False, slot_name = my_sub1, synchronous_commit = 'off'); - (connect = True, enabled = True, copy_data = True, create_slot = True, synchronous_commit = 'off'); Use small true/false instead of True/False. 9. Create a subscription. Open the properties dialog and click on the "get publication" button. It throws an error message with the string 'password', please provide a valid error message. Check for all such error messages. 10. Consider the above(Point 9) scenario and provide a password and then click on the "get publication" button it throws an error "*could not translate host name "127.0.0.1 " to address: nodename nor servname provided, or not known*". There is a space after the IP address, even if we remove that space or provide a different IP address the same error occurs. 11. The "Refresh publication" option should be disabled if the subscription is disabled, as it should not work with the disabled subscription. 12. No SQL query created when we remove the Slot name for the existing subscription. How to handle: - If the subscription is enabled then add validation "Slot name can not be empty". - If the subscription is disabled then on removing the slot name should create "ALTER SUBSCRIPTION SET (slot_name = NONE);" 13. Provide a space after comma in the current publication list. Please explain how the service file parameter will work with the "CREATE SUBSCRIPTION .." syntax as per documentation we have to provide the connection info string. Not able to test it. Created #6153 to add publication and subscription in Schema Diff. On Thu, Jan 14, 2021 at 6:58 PM Pradip Parkale < pradip.parkale@enterprisedb.com> wrote: > Hi Akshay, > Please find the latest patch. I missed some files in my previous patch. > > On Thu, Jan 14, 2021 at 5:49 PM Akshay Joshi < > akshay.joshi@enterprisedb.com> wrote: > >> Hi Pradip >> >> The patch is applied, but not working. Please check and send the patch >> again. >> >> On Wed, Jan 13, 2021 at 9:08 AM Pradip Parkale < >> pradip.parkale@enterprisedb.com> wrote: >> >>> Hi Akshay, >>> >>> Please ignore my previous patch. Please find my updated patch. >>> >>> >>> On Mon, Jan 11, 2021 at 5:07 PM Pradip Parkale < >>> pradip.parkale@enterprisedb.com> wrote: >>> >>>> Hi Hackers, >>>> >>>> Please find the attached patch for logical replication support. >>>> >>>> -- >>>> Thanks & Regards, >>>> Pradip Parkale >>>> Software Engineer | EnterpriseDB Corporation >>>> >>> >>> >>> -- >>> Thanks & Regards, >>> Pradip Parkale >>> Software Engineer | EnterpriseDB Corporation >>> >> >> >> -- >> *Thanks & Regards* >> *Akshay Joshi* >> *pgAdmin Hacker | Principal Software Architect* >> *EDB Postgres * >> >> *Mobile: +91 976-788-8246* >> > > > -- > Thanks & Regards, > Pradip Parkale > Software Engineer | EnterpriseDB Corporation > -- *Thanks & Regards* *Akshay Joshi* *pgAdmin Hacker | Principal Software Architect* *EDB Postgres * *Mobile: +91 976-788-8246* --0000000000001eb93c05b902633b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Pradip

Following are the GUI related= review comments:

Publication:
=
  1. The truncate option is not visible for PG 10 but the SQL query= showing it.
  2. "All table?" should be "All tables?&quo= t; and "Table" should be renamed to "Tables".
  3. &= quot;-- Publication : test;
    -- DROP PUBLICATION test;" Follow the s= yntax(Spacing, no space between colon) as we did for other nodes. Check the= SQL tab for any other node.
  4. Select any publication and open th= e properties dialog, Save button is enabled by default which should not.
  5. Create publication with (insert, update, delete, and truncate). Open = the properties dialog and Set the value of Insert, Update and Delete to &qu= ot;No" check the SQL tab no ALTER query is there. ALTER query should b= e there.
  6. 'Only Table' is not visible in the Properties pane= l.
  7. On the collection node 'Publications' we should add Tabl= es in the properties panel.
  8. Create a publication using one table an= d set 'Only Table' to No. Select a newly created publication and se= t 'Only Table' to Yes, no SQL query is generated.
  9. Adding a = table in the publication should generate 'ALTER PUBLICATION .. ADD TABL= E ..' syntax instead of 'ALTER PUBLICATION .. SET TABLE..'
  10. =
  11. Create a publication with more than one table. Remove one table from pu= blication it is creating=C2=A0two ALTER statements one for DROP Table and a= nother one is to SET TABLE which I think not required.
<= div>Subscription:
  1. Reduce the width of the subscrip= tion dialog.
  2. With tab, alignment is not proper. Switch contr= ol should be aligned with others.
  3. Help messages required for every = control in With=C2=A0tab.
  4. Open Create subscription dialog, s= pecify the name, on the connection tab click the button to get the publicat= ion without specifying any details. One popup comes with msg 'host'= . I would suggest to disabled that button until all the required fie= lds will be populated or entered by the user.
  5. Publication list from= the same database server should be listed by default.
  6. Specify all = the required connection details on the connection tab and click on the '= ;get publication' button. It fetches the publication but no message for= the user that action is successfully completed. For the user, it seems not= hing is happening and the user will click on that button continuously. S= uggestion: Show some message 'Publications fetched successfully.= 9; or something similar.
  7. "-- Subscription : my_sub; -- DROP SU= BSCRIPTION my_sub;"=C2=A0Follow the syntax(Spacing, no space between c= olon) as we did for other nodes. Check the SQL tab for any other node.
  8. =
  9. Remove the unnecessary=C2=A0spaces from the following SQL:
    • = CONNECTION ' host=3D127.0.0.1 =C2=A0port=3D5436 user=3Dpostgres dbname= =3Dpostgres '
    • with (enabled =3D False, =C2=A0slot_name =3D my_s= ub1, synchronous_commit =3D 'off');
    • (connect =3D True, enab= led =3D True, copy_data =3D True, create_slot =3D True, synchronous_commit = =3D 'off');=C2=A0 Use small true/false instead of True/False.
    • <= /ul>
    • Create a subscription. Open the properties dialog and click on the = "get publication" button. It throws an error message with the str= ing 'password', please provide a valid error message. Check for all= such error messages.
    • Consider the above(Point 9) scenario and prov= ide a password and then click on the "get publication" button it = throws an error "could not translate ho= st name "127.0.0.1 " to address: nodename nor servname provided, = or not known". There is a space after the IP address, even if we r= emove that space or provide a different IP address the same error occurs.
    • The "Refresh publication&quo= t; option should be disabled if the subscription is disabled, as it should = not work with the disabled subscription.
    • No SQL query created when we remove the Slot name for the existing= subscription. How to handle:
      • If the subscri= ption is disabled then on removing the slot name should create "ALTER SUBSCRIPTION <name> SET (slot_name =3D NONE);"
      <= li>Provide a space after comma in the current publication list.
Please explain how the service file parameter will work=C2=A0with= the "CREATE SUBSCRIPTION .." syntax as per documentation we have= to provide the connection info string. Not able to test it.
=

Created=C2=A0#6153=C2=A0to add publication and subscription in Schema D= iff.

On Thu, Jan 14, 2021 at 6:58 PM Pradip Parkale <pradip.parkale@enterprised= b.com> wrote:
Hi=C2=A0Akshay,
Please find the latest patch. I m= issed some files in my previous patch.

On Thu, Jan 14, 2021 at 5:49 PM= Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi=C2=A0Pradip
The patch is applied, but not working. Please check and se= nd the patch again.

On Wed, Jan 13, 2021 at 9:08 AM Pradip Parkale <= ;pradi= p.parkale@enterprisedb.com> wrote:
Hi Akshay,

Pl= ease ignore=C2=A0my=C2=A0previous patch. Please find my updated patch.
<= div>

On Mon, Jan 11, 2021 at 5:07 PM Pradip Parkale <pradip.par= kale@enterprisedb.com> wrote:
Hi Hackers,

Please= find the attached patch for logical replication support.
=

--
Thanks & Regards,
Pradip Parkale
Software Engineer | EnterpriseDB Corporation
=


--
Thanks & Regards,
=
Pradip Parkale
Software Engineer |= EnterpriseDB Corporation


--
Thank= s & Regards
Akshay Joshi
pgAdmin Hacker | Principal Softw= are Architect
EDB Po= stgres
Mobile: +91 976-788-8246



--
Thanks & Regards,
=
Pradip Parkale
Software Engineer |= EnterpriseDB Corporation


--
Thanks & Regards
Akshay Joshi
pgAdmi= n Hacker | Principal Software Architect
EDB Postgres
Mobile: +91 976-788-8246

--0000000000001eb93c05b902633b--