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 1sTROq-00GIet-7y for pgsql-general@arkaria.postgresql.org; Mon, 15 Jul 2024 19:30:16 +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 1sTROo-00Clk1-WF for pgsql-general@arkaria.postgresql.org; Mon, 15 Jul 2024 19:30:15 +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 1sTRNK-00CiIf-Ps for pgsql-general@lists.postgresql.org; Mon, 15 Jul 2024 19:28:42 +0000 Received: from smtp102.ord1d.emailsrvr.com ([184.106.54.102]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sTRNI-002HoS-Et for pgsql-general@lists.postgresql.org; Mon, 15 Jul 2024 19:28:42 +0000 X-Auth-ID: xof@thebuild.com Received: by smtp13.relay.ord1d.emailsrvr.com (Authenticated sender: xof-AT-thebuild.com) with ESMTPSA id AF74CC021E; Mon, 15 Jul 2024 15:28:38 -0400 (EDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.600.62\)) Subject: Re: PostgreSQL Active-Active Clustering From: Christophe Pettus In-Reply-To: Date: Mon, 15 Jul 2024 12:28:14 -0700 Cc: "pgsql-general@lists.postgresql.org" , "Sur, Sanjay" Content-Transfer-Encoding: quoted-printable Message-Id: <0BD5E273-8E2C-4EDD-AB13-37CC3309E30E@thebuild.com> References: To: "Sarkar, Subhadeep" X-Mailer: Apple Mail (2.3774.600.62) X-Classification-ID: 2d7bdccb-4608-4ff6-b82b-7916ee1c395b-1-1 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk > On Jul 15, 2024, at 12:06, Sarkar, Subhadeep = wrote: >=20 > =E2=80=A2 Does the Community edition of PostgreSQL provide NATIVE = active-active high availability clustering with objectives of = scalability, load balancing and high availability without using any = extensions or external components or usage of Kubernetes/Dockers.=20 >=20 > =E2=80=A2 In the Community edition of PostgreSQL is it possible to = setup a database cluster in load balancing mode and provide vertical and = horizontal scalability without repartitioning or changes to the database = objects or 3rd party transaction routing mechanisms using NATIVE = features only (i.e. without using any extensions or external components = or usage of Kubernetes/Dockers). >=20 > =E2=80=A2 In the Community edition of PostgreSQL is it possible to = setup a cluster where all the nodes are able to concurrently read-write = the underlying database image using NATIVE features (i.e. without using = any extensions or external components or usage of Kubernetes/Dockers). Short answer: No. The community version of PostgreSQL, without any extensions beyond what = is available in the core distribution, supports none of these. I will = offer that your client is not being realistic if these are their = requirements, and they expect them to be fulfilled by the core = distribution of any open-source database. There are commercial extensions to PostgreSQL that provide the first, = but PostgreSQL does not do so out of the box. It is possible, now, to = build this on top of community PostgreSQL with logical replication, but = there is notable development work involved, and you cannot just drop an = existing database into PostgreSQL and expect this to work. In any = event, you will need to make sure the schema is compatible with an = active-active model. For the second, you can explore open-source projects such as Citus, but = some attention to the schema and queries will be required.=20 No product, either commercial or open-source, provides the last one = (read-write shared storage), although there are commercial products that = provide for a shared-storage model single-writer, multiple-reader model = (for example, Amazon Aurora).=