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 1sHjq5-00ARIl-33 for pgsql-hackers@arkaria.postgresql.org; Thu, 13 Jun 2024 12:46:01 +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 1sHjq2-000vLT-Tl for pgsql-hackers@arkaria.postgresql.org; Thu, 13 Jun 2024 12:45:59 +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 1sHjq1-000vLL-F2 for pgsql-hackers@lists.postgresql.org; Thu, 13 Jun 2024 12:45:59 +0000 Received: from fhigh4-smtp.messagingengine.com ([103.168.172.155]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1sHjpz-0017Vj-C7 for pgsql-hackers@postgresql.org; Thu, 13 Jun 2024 12:45:57 +0000 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailfhigh.nyi.internal (Postfix) with ESMTP id 1F0D7114010A; Thu, 13 Jun 2024 08:45:54 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Thu, 13 Jun 2024 08:45:54 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eisentraut.org; h=cc:cc:content-transfer-encoding:content-type:content-type :date:date:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:subject:subject:to:to; s=fm3; t=1718282754; x=1718369154; bh=ApaSv0X3tQDApvLaPVAXUgVzGQggnIia TMZ/OnI/PAY=; b=ZABxXoB6CjYZ4yejFyzLnCtaYiLvTEqv7xZZiNYhgYRSelRv MjBaJUBxE0Wejzfshdv2qgrqcneoBQS3My7DTDEV2MToBiQdF7GARGjbRzvAQcId Hatp0ASnwdXXqSxqfpt7ryuw3PlKpNbiD2TnYQ0VlPGoG8Oq1xiyvTuXMFUSurdE x5kjYR3/hEnSml6QUIzkGK3XihLxqj3Z5HTkegVSU617l+uX2VR3WB+0oSXbaJrS lBcpmAikJdwkSF9BmmA7kkKH6QcbEi1BdGejSDRu+PSB1A1HetByuLnU7LOOx54n Qp1QEr7MirB0GDM/yT2hKzjPq6ozgjFVjxoX5w== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1718282754; x= 1718369154; bh=ApaSv0X3tQDApvLaPVAXUgVzGQggnIiaTMZ/OnI/PAY=; b=G oDRjk79CBId5DSj+enYgbxOc8EaktivplpiqXodx9TO2YIRml1fRyBasVo2kbZgr WQQ/dpyzUwIihqg6FCOJhK2oVVhm8eVx8+zMgb1n8qMMAwOvsy/z+PxkOIIAWjeN oHobE/zzKlhHJWx46IJKJsLigX/bW5MCirlQb0/SPsi90QevX3TXmNd5HmUZQ2LV u1jvHyLg/dYp66usvZwhz6ogmfFY5u7rIJ7hDNsrb3lGFHtWpx7oXHdssfTUVq3K vpYOlO9gM+wH8Z760gixzPo3/AKVrsMku5Ud86HwISmQ1VjuvIAK6jWBBjtLw0fm ceO9b1DwyYHjNymZfPpZQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvledrfedujedgheegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepkfffgggfuffvvehfhfgjtgfgsehtkeertddtvdejnecuhfhrohhmpefrvght vghrucfgihhsvghnthhrrghuthcuoehpvghtvghrsegvihhsvghnthhrrghuthdrohhrgh eqnecuggftrfgrthhtvghrnhepueekffehgfdukeffffduheffhfekheeiffejiedvvedv vdefueeggeegheeiffehnecuffhomhgrihhnpehgihhthhhusgdrtghomhenucevlhhush htvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehpvghtvghrsegvihhs vghnthhrrghuthdrohhrgh X-ME-Proxy: Feedback-ID: ie0a040ee:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu, 13 Jun 2024 08:45:52 -0400 (EDT) Message-ID: Date: Thu, 13 Jun 2024 14:45:50 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Conflict Detection and Resolution To: shveta malik , pgsql-hackers Cc: "Zhijie Hou (Fujitsu)" , Nisha Moond , Amit Kapila References: Content-Language: en-US From: Peter Eisentraut In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 23.05.24 08:36, shveta malik wrote: > Conflict Resolution > ---------------- > a) latest_timestamp_wins: The change with later commit timestamp wins. > b) earliest_timestamp_wins: The change with earlier commit timestamp wins. > c) apply: Always apply the remote change. > d) skip: Remote change is skipped. > e) error: Error out on conflict. Replication is stopped, manual > action is needed. You might be aware of pglogical, which has similar conflict resolution modes, but they appear to be spelled a bit different. It might be worth reviewing this, so that we don't unnecessarily introduce differences. https://github.com/2ndquadrant/pglogical?tab=readme-ov-file#conflicts There might also be other inspiration to be found related to this in pglogical documentation or code.