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 1u4vGo-009Ske-4B for pgsql-hackers@arkaria.postgresql.org; Wed, 16 Apr 2025 05:25:11 +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 1u4vGm-006lSI-Ak for pgsql-hackers@arkaria.postgresql.org; Wed, 16 Apr 2025 05:25:09 +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.94.2) (envelope-from ) id 1u4vGm-006lSA-14 for pgsql-hackers@lists.postgresql.org; Wed, 16 Apr 2025 05:25:08 +0000 Received: from forwardcorp1d.mail.yandex.net ([178.154.239.200]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1u4vGi-000Jid-0U for pgsql-hackers@lists.postgresql.org; Wed, 16 Apr 2025 05:25:07 +0000 Received: from mail-nwsmtp-smtp-corp-main-80.iva.yp-c.yandex.net (mail-nwsmtp-smtp-corp-main-80.iva.yp-c.yandex.net [IPv6:2a02:6b8:c0c:ca1:0:640:740c:0]) by forwardcorp1d.mail.yandex.net (Yandex) with ESMTPS id DCCAD61412; Wed, 16 Apr 2025 08:25:00 +0300 (MSK) Received: from smtpclient.apple (unknown [2a02:6b8:b081:7229::1:1]) by mail-nwsmtp-smtp-corp-main-80.iva.yp-c.yandex.net (smtpcorp/Yandex) with ESMTPSA id wOA6n52FYiE0-LCGyF3EN; Wed, 16 Apr 2025 08:25:00 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.ru; s=default; t=1744781100; bh=pXqhwz/CeXlm+XcpSap/BRGpMnQm0071FcrqgQaFZS8=; h=Message-Id:To:Date:References:Cc:In-Reply-To:From:Subject; b=E5KdhWhCXCCYTP6IIRTUHI8QjeExD7gfJq7ohl8G/vp/KSS5dHknLB/7wacKdBC1v vvqaEmT2xScgc/6sqwYTzi9EROlaS/6f4/9Mr1uNsOhMiZdLC8AgXpTMq9dupwDAkI LMbXvFi1R3kr/RiYnLkBSJ01aZfvVhjQjeKTgc8E= Authentication-Results: mail-nwsmtp-smtp-corp-main-80.iva.yp-c.yandex.net; dkim=pass header.i=@yandex-team.ru Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3776.700.51\)) Subject: Re: Built-in Raft replication From: Andrey Borodin In-Reply-To: <1832513.1744777613@sss.pgh.pa.us> Date: Wed, 16 Apr 2025 10:24:48 +0500 Cc: Konstantin Osipov , Greg Sabino Mullane , Nikolay Samokhvalov , PostgreSQL Hackers Content-Transfer-Encoding: quoted-printable Message-Id: <0ED408AD-2209-4D60-9142-B6D01DD0C46F@yandex-team.ru> References: <1798838.1744759182@sss.pgh.pa.us> <20FB597F-641F-48F8-8428-D8DDBA802D58@yandex-team.ru> <1832513.1744777613@sss.pgh.pa.us> To: Tom Lane X-Mailer: Apple Mail (2.3776.700.51) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk > On 16 Apr 2025, at 09:26, Tom Lane wrote: >=20 > Andrey Borodin writes: >> I think it's what Konstantin is proposing. To have our own Raft = implementation, without dependencies. >=20 > Hmm, OK. I thought that the proposal involved relying on some = existing > code, but re-reading the thread that was said nowhere. Still, that > moves it from a large project to a really large project :-( >=20 > I continue to think that it'd be best to try to implement it as > an extension, at least up till the point of finding show-stopping > reasons why it cannot be that. I think I can provide some reasons why it cannot be neither extension, = nor any part running within postmaster reign. 1. When joining cluster, there=E2=80=99s not PGDATA to run postmaster on = top of it. 2. After failover, old Primary node must rejoin cluster by running = pg_rewind and following timeline switch. The system in hand must be able to manipulate with PGDATA without = starting Postgres. My question to Konstantin is Why wouldn=E2=80=99t you just add Raft to = Patroni? Is there a reason why something like Patroni is not in core and = noone rushes to get it in? Everyone is using it, or system like it. Best regards, Andrey Borodin.=