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 1kGuce-0001mR-Uo for pgsql-docs@arkaria.postgresql.org; Sat, 12 Sep 2020 01:46:36 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1kGuc7-0006eh-T8 for pgsql-docs@arkaria.postgresql.org; Sat, 12 Sep 2020 01:46:03 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kGuc7-0006ea-Ni for pgsql-docs@lists.postgresql.org; Sat, 12 Sep 2020 01:46:03 +0000 Received: from out2-smtp.messagingengine.com ([66.111.4.26]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kGuc5-0001Na-M0 for pgsql-docs@postgresql.org; Sat, 12 Sep 2020 01:46:02 +0000 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id E81145C00A9; Fri, 11 Sep 2020 21:46:00 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute3.internal (MEProxy); Fri, 11 Sep 2020 21:46:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=paquier.xyz; h= date:from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=fm2; bh=gtyyz5maelY1CfvhjcejEdj9I1m 9AG+JdcuAprMDL9s=; b=rUQjKSqx6nyXMZEeR5qmGnoRwsGIWve2POwFtMP71lH hWC8xQlKCDVOopqmy1Or+3/J/UBLhBrpppAO0Hu/KOpW0NNyuefOqTH1IpXIi4Lb 8hY+W/d2DU7X9sDzkyo/uyHQ5JbooOFJG11o+kcgyg470AU+r4VDdD7Bc4OzkDv2 ZCPVQQ2gAZYYvqbIf9uJEbBBh7ubSEHg0c4aFHlruvXN5EYUI8HfQLxP6A5h40DW rZJFs0ff987VYRcBOcgKum8Bh0r7iPjXR7VdUoAVwT4V4ToqoKkMkJsY0Zc8+ScJ K8uwv8g6EDidiuGUcVPBW9EnKjb+rI+6ULhhddVAA1Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; bh=gtyyz5 maelY1CfvhjcejEdj9I1m9AG+JdcuAprMDL9s=; b=K7z5ysV5lixakH75dn2En8 CAVchhK83384mJW/vH+suIIceqi+UXWQmELR1nKvCErLIeHbsVzLjxZDbDpxs43p J50juXKyDxiuKaNueoiFkWRLUoYS36TuzmUk97PiMetZGka7IspjmmGL/92SLB5R vfWEs8dMeo2goYrrZFq2W5lJCuoktW4U8Bf/XwykNAXxR31/RXbToVYsAOHeLFQE ta2kvWDVDFCKoZfhd9z10zq9pmZSfaXTjQR6hRGR0U0yyPVtHBWpUdMK+wz2PWY8 n81WkWAvdvKbDosDUxA4r1JTr5f/5aMbmzjpCQzJwJ9BjCI7sWbtc5v2BBsopQZQ == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduiedrudeitddggeekucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucgfrhhlucfvnfffucdljedtmdenucfjughrpeffhf fvuffkfhggtggujgesghdtreertddtvdenucfhrhhomhepofhitghhrggvlhcurfgrqhhu ihgvrhcuoehmihgthhgrvghlsehprghquhhivghrrdighiiiqeenucggtffrrghtthgvrh hnpedvgeduuefhtdeuleettdevjeehheeiveeuieegleetgeeljeelieeuieehgeevhfen ucfkphepuddukedrvdeguddrvdegledrudekleenucevlhhushhtvghrufhiiigvpedtne curfgrrhgrmhepmhgrihhlfhhrohhmpehmihgthhgrvghlsehprghquhhivghrrdighiii X-ME-Proxy: Received: from paquier.xyz (mp76f1f9bd.ap.nuro.jp [118.241.249.189]) by mail.messagingengine.com (Postfix) with ESMTPA id 416223280063; Fri, 11 Sep 2020 21:45:58 -0400 (EDT) Date: Sat, 12 Sep 2020 10:45:50 +0900 From: Michael Paquier To: Robert Treat Cc: pgsql-docs@postgresql.org Subject: Re: replication wordsmithing / clarifications Message-ID: <20200912014550.GL2743@paquier.xyz> References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="kkcDP0v44wDpNmbp" Content-Disposition: inline In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --kkcDP0v44wDpNmbp Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Fri, Sep 11, 2020 at 07:16:43PM -0400, Robert Treat wrote: > A recent discussion on slack prompted me to read through the > high-availability section of the docs, turning in to some suggested > changes that hopefully clarify how the various replication options > work (specifically around logical and trigger-based solutions). A > proposed patch is attached, lmk if you have questions. A portion of what you are suggesting here is in line with 9e101cf, which looks like a good thing. Most of the changes look like improvements to me, and here are some comments. + queries to a designated primary server. Operating on a per-tablebasis, + the primary server sends data changes (typically) asynchronously to the + replica node(s). Replica nodes can answer queries while the primary is Could it be better to use "one or more replica clusters" here? This is because each server operates independently, and because - SQL queries are broadcast (and not actual modified rows). If + SQL queries are broadcast rather than actual data changes. If this is unacceptable, either the middleware or the application - must query such values from a single server and then use those - values in write queries. Another option is to use this replication - option with a traditional primary-standby setup, i.e., data modification - queries are sent only to the primary and are propagated to the - standby servers via primary-standby replication, not by the replication - middleware. Care must also be taken that all + must determine such values from a single source and then use those + values in write queries. Care must also be taken that all Why do you remove the sentence about the extra option available to the user here, about the traditional primary-standby setup? -- Michael --kkcDP0v44wDpNmbp Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEG72nH6vTowiyblFKnvQgOdbyQH0FAl9cKE4ACgkQnvQgOdby QH25YA/9EwmMFvPsAhalBABRA+hn4a/CICFUDnAMGnLqUsNNVib1+kbvsNSED0kQ A+XQgtiD+1jQY5ZT7t1QvO9KY3C8Hac38KMSywrlGsF6x4sWznNyv/LGxikAeWdk XWQ70M7hYftzl9bGpKIHNGczHQVtQ5hHhcMZEWpCEpktuvdQiBmhH8O9mB0Awkl/ 7rRaHXX7gIrQ48GJkwk8s021Lpv3sR5VmQ/LRxs8Gewd9eGlXDet40HmluWcPrH6 ViSiB7axcpz6NffiZsdTNa5wqr8m+xiBqZFK4JRz7U8YqZAhTT6LD1zGscZnTnYl x+YITyZST8EZPCEKX7izBcf9RmcoriKEjF0SSwor4xOmGJRuQErJTmjCMkFDWjJf Iy5MWHbhOlwIGR/gUbPhM3wkK1y/rS7B798+yLLACge2nU0t44o/SoW8Y2cAmDEk L1ObPg3LCvvKNtUupDI8ADXoA6tMDYSSCnRu2zWIXPXEVMKU7zUIH9VhH0kBnYfZ BVsKLYdn+EAN5UDhc60M04Ekq3M3jrMzVCvKfSxbfpKRgJPHmjvDSl/5Bo5iCRmC PjmH/+9Vy/BHE+ZHQ2in5RSdeff8UUe15idrir9ApXzMeDToQhGJuPoXIBEuMeli Yg3ncJLwh/CLRS3hXr++LBQIsuGk9toySqcs3tDjv33A2buewMI= =2GcH -----END PGP SIGNATURE----- --kkcDP0v44wDpNmbp--