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 1wUqIn-001UCG-2k for pgsql-admin@arkaria.postgresql.org; Wed, 03 Jun 2026 18:26:53 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wUqIm-002hZV-2J for pgsql-admin@arkaria.postgresql.org; Wed, 03 Jun 2026 18:26:52 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wUqIm-002hZN-1D for pgsql-admin@lists.postgresql.org; Wed, 03 Jun 2026 18:26:52 +0000 Received: from mail-pf1-x435.google.com ([2607:f8b0:4864:20::435]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wUqIk-00000000x06-2USp for pgsql-admin@lists.postgresql.org; Wed, 03 Jun 2026 18:26:51 +0000 Received: by mail-pf1-x435.google.com with SMTP id d2e1a72fcca58-8423efad617so2057971b3a.0 for ; Wed, 03 Jun 2026 11:26:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1780511208; cv=none; d=google.com; s=arc-20240605; b=QJqnRrwGqyNbmfiApIzw0oxd+rzR/ce0epy5+Uqez9AkLSIbbm11FKJ+srThxImhIR TwEor7tj8ATUr9IG7O+aQthTx+esg9UPslEKDXs5SMjuX0CT7sznoeDxJaJOLAb6Z1Um wVQvhAz1N9UHKqKqHW3SJd252Pt4FS7hhViv3/RDHu9PU2CH8JPor/JC3h8GDEybWTnl nceF34sVSSHeecpWDnUwhfsPx1dDLAyoS46xK8BNEVXfswmDAorJVmMeoCM1ZDP5CB80 LD/WQMml5Q8yf2gEZTdOqyThTuCDyATQIGaoEeAt4svEm5dr2gUBpP7pWYr01ptA1oyO Qf7g== 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=dN/7l9DsDLY6SJYdS2uTuyZCwaWMrm3pdrqm1NEGzts=; fh=2TYDFu6n7J5QCgQuKC9CHnL0/OX+GX+HLe30lvVBdcM=; b=jzVL8yFTyW6tdq0sJO3e0lRTxqYWl20J8Z5CHz9lRMHswloEf3PERFd4vWDGEsliL7 zLZEo9auKDbrbl1uwq9H/JozegPKq2WZ8fl35dQi6L7CJyKj3VyPU1Tx3O5i5qZhvtmW ss7pF2hlIKuHmnPQKXGytz011GUYzO6whFdvIX28+n2c08RImyC9/2jw2rCAO+YDqhTp UKBrhC+2/gK4EqUqhp7e11pm8XsIaYfeNIlEchUkBJaIjXp+8qXUgUECzFUggfOQ9ukp D/Hqo9tRpNBuvWg3p1OmPHi7zJ/gGXGpxEV5v3nJOC9wuJ1CE2E6Fjk8QheDoG5ae+z6 n6hw==; 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=1780511208; x=1781116008; darn=lists.postgresql.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=dN/7l9DsDLY6SJYdS2uTuyZCwaWMrm3pdrqm1NEGzts=; b=Z6QGzikCbXx9Ffq/DcUo3YNqKwR194qCjq46J9YSH8AaE4QojpouBvdT75oryV3yc6 wrvB/n6cE06ChTe1UFtl8ljpufZad624wXOjYgQJuPY7az6LtfhG3AG5P0Svui+LyD9R AZPgRJVZuj8yv/gZuyOkp/9ONpspfojucOZKDKcoc5RjOXHc2JS2YG3LUVPD2wuNF4Gj TYYiNKBbOE8DqFXdah+Ppd3rsASCBl57SARE0+oGNJH4h4mrD9eRAwnyL5Yq0FiM51Sc gtzOfnLq0E+lh+HXkdRhyIhA8QAnS9rPE06VC+M4S5z4oCiSTHzd+xZmLk8XQn8DPwV0 ZfvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780511208; x=1781116008; 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=dN/7l9DsDLY6SJYdS2uTuyZCwaWMrm3pdrqm1NEGzts=; b=nH2HWJsra5y1T9MAoS7+gyUFxjxJwPaVHXRp1cdE2JVuyBA+Y9o/UtnG0VW3N57h2M 3/GPw48g+oVZGZ8yGApAXJy+psj3zqPIxgn+DSY0R4pDqbP4INaZ8Kd3NNUHjj1gmW8s 3k9BOPUH70WLWfZgmV93XNX1OukREzAvhWXVZrXiYz7tUnpijvRuPz3eqx7fS8toCmz0 9JE2tGLWTKZg8J8/+IoFhZb2hzf5Tq9I90MVbxcDXLKptaoTnwNoZpqrSU30rrVz1g7M fBoXfbMZgRk+9XeDeVPoVZaRevIxKkXPOcaBoGP/ozzBslMdJG9YUrpw9hc+TCP3M/Ki z7Cg== X-Gm-Message-State: AOJu0YytnzoNAwEWzmm71c16UMq8mEdHGOfie3MrSY6kFK8fx7sNmtHT dpLJxnLmgd/C5gk890qTHPBl900eGcq200AgJNRndd5mkHYqB1bugzH4J9ze/qhy5j9C+slpSHy NMt/UWvIsbeE+fBI87sY9Olksp3dosycIBu3U X-Gm-Gg: Acq92OGOkeaxftTeNMvfQqFPf7H/oe3eHnv/O/BrwfPNS/56rIQ2YDq5w3RZdB8xQ4g xNekT4yzuf4bUwG4tTsGQW09lmfyLIhB9zh+0kEMSZ99GwyWoQzWPUusutYPDed5FTvlCMEp9jZ PY4Xa6WCrw2vJ/eUDsj77iJTIxNMjqnBsmq2a7jEpXYs7ZDDS2Cd/tvw4Szpp5MPINR9sDpXAMG gLCMNZC5TKN3KHT4ShFIODvLbs6IP6dUxIbO0WB6PxY+1S0kpD3pfXQj2zpg3Ejsqrsk8TKC7Ei vGysv+Y/klRtNUuEcw== X-Received: by 2002:a05:6a00:218e:b0:842:5ad6:2d3 with SMTP id d2e1a72fcca58-84284ef2c41mr4459852b3a.38.1780511208425; Wed, 03 Jun 2026 11:26:48 -0700 (PDT) MIME-Version: 1.0 From: Pratik Pandit Date: Wed, 3 Jun 2026 23:56:36 +0530 X-Gm-Features: AVHnY4J_OyhadpD87bdrmHNBF0b87EDzOWPwTG1f-uhsdG2KltiXTULE766Pgd8 Message-ID: Subject: Configuring Pacemaker constraints for Postgres on Shared Storage To: pgsql-admin@lists.postgresql.org Content-Type: multipart/alternative; boundary="00000000000018cda806535d928c" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000018cda806535d928c Content-Type: text/plain; charset="UTF-8" Hi all, I am configuring a 2-node Pacemaker cluster to manage a PostgreSQL instance. The architecture relies on an external distributed storage array. Node 1 and Node 2 both see the block device, but only the active node should mount it and start PostgreSQL. I want to ensure my Pacemaker colocation and ordering constraints are mathematically airtight to prevent split-brain. Currently, I am planning the following resource group/constraints: 1. Virtual IP (IPaddr2) 2. Filesystem Mount (Filesystem) 3. PostgreSQL Service (pgsql) My questions for the community: - Is it safer to group these resources together so they always migrate as a single unit, or handle them via explicit colocation and order constraints? - When using distributed storage, how do you handle the postgresql.conf parameters like archive_command or tracking replication states when the secondary node boots up using the exact same data directory bytes as the primary? - If you have a working boilerplate XML or pcs command template for a shared-storage Postgres setup, it would be incredibly helpful. Appreciate any insights or pitfalls to avoid! Thanks --00000000000018cda806535d928c Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

Hi all,

I am configuring a 2-node Pacemaker clust= er to manage a PostgreSQL instance. The architecture relies on an external = distributed storage array. Node 1 and Node 2 both see the block device, but= only the active node should mount it and start PostgreSQL.

I want to= ensure my Pacemaker colocation and ordering constraints are mathematically= airtight to prevent split-brain.

Currently, I am planning the follow= ing resource group/constraints:

  1. Virtual IP (IPaddr2)

  2. Filesystem Mount (Filesystem)<= /p>

  3. PostgreSQL Service (pgsql)

My q= uestions for the community:

  • Is it safer to group these resour= ces together so they always migrate as a single unit, or handle them via ex= plicit colocation and order constraints?

  • =
  • When using distributed storage, how do you handle the postgres= ql.conf parameters like archive_command or tracking rep= lication states when the secondary node boots up using the exact same data = directory bytes as the primary?

  • If you have a working boiler= plate XML or pcs command template for a shared-storage Postgre= s setup, it would be incredibly helpful.

Appreciate any ins= ights or pitfalls to avoid!

Thanks


--00000000000018cda806535d928c--