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.96) (envelope-from ) id 1wUqCr-001U85-26 for pgsql-admin@arkaria.postgresql.org; Wed, 03 Jun 2026 18:20:45 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wUqCq-002dkp-22 for pgsql-admin@arkaria.postgresql.org; Wed, 03 Jun 2026 18:20:44 +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.96) (envelope-from ) id 1wUqCq-002dkh-0Q for pgsql-admin@lists.postgresql.org; Wed, 03 Jun 2026 18:20:44 +0000 Received: from mail-pg1-x534.google.com ([2607:f8b0:4864:20::534]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wUqCo-00000001676-0GKx for pgsql-admin@lists.postgresql.org; Wed, 03 Jun 2026 18:20:43 +0000 Received: by mail-pg1-x534.google.com with SMTP id 41be03b00d2f7-c85a2c012e5so1568867a12.1 for ; Wed, 03 Jun 2026 11:20:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1780510839; cv=none; d=google.com; s=arc-20240605; b=cGuYj0sBTUwJ++nfflA6PPnzd/d9Ona602xAdDPlxOPbetuO1q977Lf3tvLZTb6gYR 8WEqO8BLWLzfuOH0Ag6SNELBt7No0pi8CO+GLQz2l0DBKkK5SjGfe8MSErfuIWSNX7yJ zwK95DwEBABG9v70D5KlO6o1M7P4AH3lLSCt9q61iRlv7SbWP73Meb67dFWIXlpeCz2q hxjQtVC5xUnBXn1YMKOpRYVBapcFQrjdbEZyQO6A232hIRWkHyZnYhQTGAakUeoyfCaI kNj4G+Gmz5ifhZE6CM0FE0ZpuriBjCMMTvvDuBWF8WBNeBrO12BSp52DnQ2kp8vZFwkq V98A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=to:subject:message-id:date:from:mime-version:dkim-signature; bh=nUy7AkzJx3FwEkHwgvfnIIC9NQE0B8rpfQ40MnvGAhU=; fh=2TYDFu6n7J5QCgQuKC9CHnL0/OX+GX+HLe30lvVBdcM=; b=JFhFtkAwxutYKXGBLMEgD3FVK8k0T0HYHlxqvu7AfK3sSyBvnvdq6yr0X0lT7FGqG7 o4qqP3iV9M7puqUvN5kUV7pRp9otfJRFmo//zbfCMgruZcqP4mQ8aSk3aXEFkiQhBK/H aE1ABXLovXVVCOKK1CfU3eWE2l91IlDtcSAdiomGXMOy9pNZQ66R7aZUOiO3JDAGqr15 A8dadn+Ft8N9xHiDTwdrW0VcezMRlVEYu5re/KTo3i9tOoGNyjsu5+lPOD0YH8JDVjmp QUHV9CJ0cuzYAnlhxYJXjzTPAmWpgCGYs4WAx1o6zSEOtYfn0YOhsekl55wu3w9YswGi ssLA==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780510839; x=1781115639; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=nUy7AkzJx3FwEkHwgvfnIIC9NQE0B8rpfQ40MnvGAhU=; b=KqTSqJdUXRpQli1qYqWQDyjba6cdoIku1xNfvwMnoVRy88JvXCNKRkg+yhsR8cGjpT DVGvzVQ8g720k4CuiKBq3XdCsiWMNMCNW13OxfLgSx+PoJii5OI85eO2u0RZBO1GkvYq uXwp4YAGOdonMxeyeGAS+2pvuhokfWbVl248QN1Sr73V//QSdZcba8Qn63NWxKxantnX yvYUQI9TzwthwcHjWmQeXoZCnxUAbWlv9XUHYUebyI0IbaMPpEjGDO1UiHiyGAXKc6PP UTyj90rE+5Jgty0B1ClbFAg44hm7E5bsePJ9pPl8CjXk8Gr2o8ctCeMRE2Dt1H7PqFFd hQWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780510839; x=1781115639; h=to:subject:message-id:date:from:mime-version:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=nUy7AkzJx3FwEkHwgvfnIIC9NQE0B8rpfQ40MnvGAhU=; b=JhGdrU+FUV9Oxf776VOxNzFxx4c/M0z51QmAVfm60VOQGmVEkUNdxSRnSpCvrRdHC+ 16S97Kwoix6VLfoaEbkL/5C5msvtqqohkrXZ2GW+9aXu4KMXvCKvufktgJ4AXp8QtDqO IcZUdjGFQx4YqzhQXmQ2IoswOSKKGBZwrxYdac6+I24t5GwQUp50vDIA1XjwbMNufZ6M Bi2p0V1OS217nDEbGgoGoXOKWVkTZflI+LKzzjoSG7imr87pfx3M760AScu+AZuOGluu kM/QC5CpJnb4iHomwERv51Z1rzvnb9EnwPkT//44uXRe7Iv+wZHtEr9C97EEafTLPIJ4 jquA== X-Gm-Message-State: AOJu0YxUmnho8GMSAyxf53KIGmeBMuQR+WICKN/fTY0DEX43e8bAECEu 1AjPeundLxTAdffsXVcLRFiQxReMMFLlkorsfhjKA/5YPsC89E2iGhCJdnKvR3Rh1YUXQd3Cit/ Z/wcSUxx8bmDKUDdPlViY/bzEeQnBpF82SEMo X-Gm-Gg: Acq92OEWqEcQkQmBjoa6noBFp4ZbnULwKgfroqGBHrgEqz8yCqBLvB2HEP4XJCX7F9T N9q6R9sfBQs4MJmFbdvXhFrQx5rMdcm2sI2WW8Xzi5V3dxtDskL43mqI+enRVLOEGLI0IXvpv4q spT61lcSzlu1URrPlgjo8traGoj4UQ7a97ZXyTGUKu7MzkS2bwsH/gD83yMDIWIBOcPb3ql6Hvb FQq8p++QBSZlFgSWan0TYzS6AEAj411EGIPvdZIpdhIgZW9hpZcB7hpDJm2Nk3e3z8v/Fricgec prVcKZir9dhdeytjCQ== X-Received: by 2002:a05:6300:228c:b0:3b3:62be:3584 with SMTP id adf61e73a8af0-3b4977ff27emr5081520637.11.1780510839360; Wed, 03 Jun 2026 11:20:39 -0700 (PDT) MIME-Version: 1.0 From: Pratik Pandit Date: Wed, 3 Jun 2026 23:50:27 +0530 X-Gm-Features: AVHnY4KHwKIm7qeo1L3YRFoSHkd5pGCd4-Ftv9snNl45MbbgPvn_usO85wRaF6c Message-ID: Subject: Best practices for a 2-node Patroni + PostgreSQL cluster with a external/witness DCS To: pgsql-admin@lists.postgresql.org Content-Type: multipart/alternative; boundary="0000000000001951d006535d7c4a" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000001951d006535d7c4a Content-Type: text/plain; charset="UTF-8" Hello PostgreSQL Community, I am planning to set up a high-availability PostgreSQL cluster using Patroni. Due to infrastructure constraints, I only have two dedicated database nodes available. I know that a Distributed Configuration Store (like etcd or Consul) requires an odd number of nodes (minimum 3) to achieve quorum and safely prevent split-brain scenarios. Before I begin the deployment, I would appreciate your advice on the following architectural approaches: 1. Is it recommended to run a 3-node etcd cluster where 2 instances live on the DB nodes and a 3rd "witness" instance lives on a lightweight application server/VM? 2. Alternatively, does Patroni safely support a 2-node setup using a single external DCS instance, or does that introduce a critical single point of failure (SPOF)? Any architectural pointers or template configurations for this constraint would be highly appreciated. Thanks! --0000000000001951d006535d7c4a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

Hello PostgreSQL Community,

I am= planning to set up a high-availability PostgreSQL cluster using Patroni. D= ue to infrastructure constraints, I only have two dedicated database nodes = available.
I know that a Distributed Configuration Store (like etcd or C= onsul) requires an odd number of nodes (minimum 3) to achieve quorum and sa= fely prevent split-brain scenarios.

Before I begin the deployment, I= would appreciate your advice on the following architectural approaches:=C2=A01. Is it recommended to run a 3-node etcd cluster where 2 instances = live on the DB nodes and a 3rd "witness" instance lives on a ligh= tweight application server/VM?
2. Alternatively, does Patroni safely sup= port a 2-node setup using a single external DCS instance, or does that intr= oduce a critical single point of failure (SPOF)?

Any architectural p= ointers or template configurations for this constraint would be highly appr= eciated.
Thanks!

--0000000000001951d006535d7c4a--