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 1wEZIl-0049YQ-0b for pgsql-general@arkaria.postgresql.org; Sun, 19 Apr 2026 21:03:35 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wEZIj-00GKCC-0R for pgsql-general@arkaria.postgresql.org; Sun, 19 Apr 2026 21:03:33 +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 1wEZIi-00GKC3-2T for pgsql-general@lists.postgresql.org; Sun, 19 Apr 2026 21:03:32 +0000 Received: from mout.gmx.net ([212.227.17.20]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wEZIg-000000021es-1WJW for pgsql-general@postgresql.org; Sun, 19 Apr 2026 21:03:32 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmx.net; s=s31663417; t=1776632608; x=1777237408; i=karsten.hilbert@gmx.net; bh=SgE/GMxa/6ZeID/Y/mJeZpnr6ZJ8PBlmPQfnhvK4OwQ=; h=X-UI-Sender-Class:Date:From:To:Subject:Message-ID:References: MIME-Version:Content-Type:In-Reply-To:Content-Transfer-Encoding: cc:content-transfer-encoding:content-type:date:from:message-id: mime-version:reply-to:subject:to; b=FFai75ECWc6VXZKpLI1chxTPqqdlrThp7cEpRtT41Nm9nrW57VWyFRH3mwDb5atd NZDmnDyl/XBj9RAKqJ9OcJC7wTOsM6iHtwkNi+V22CXZo3dY6KN9jPrGNiZZfuiwn kFmw0yU4xbnmPBbXd3y7vuLOqQ+s10jayWxXL/+fIYVGBm0ZpvWGiqKr9ZduuHnto /kM5LZ6TVcY0vKEHOt8OLmTxAKMZZORgtasJQ3K+wRcJfbHGv9yQ+r2KZ36YOX2Xy bX9Du/rcNIZn0mcPxr72YnzXCK1dklO5sdbBGylTkLCSjLxa8t+F81YeO8RjAOFQS T9YmpolZ64+vjEjQAg== X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a Received: from client.hidden.invalid by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MHoNC-1w9fkM22wo-001OMK for ; Sun, 19 Apr 2026 23:03:28 +0200 Received: from ncq by hermes with local (Exim 4.98.2) (envelope-from ) id 1wEZId-0000000063B-2MqS for pgsql-general@postgresql.org; Sun, 19 Apr 2026 23:03:27 +0200 Date: Sun, 19 Apr 2026 23:03:27 +0200 From: Karsten Hilbert To: pgsql-general Subject: Re: unique constraint violation on multiple-rows update Message-ID: Mail-Followup-To: pgsql-general References: <4040650.1776611867@sss.pgh.pa.us> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4040650.1776611867@sss.pgh.pa.us> Ma_X_il-Followup-to: d Re_X_turn-receipt-to: Karsten.Hilbert@gmx.net Di_X_sposition-Notification-To: Karsten.Hilbert@gmx.net X-Confi_X_rm-Reading-To: Karsten.Hilbert@gmx.net X-Pri_X_ority: 2 (High) Sender: X-Provags-ID: V03:K1:tjAJcCNzfS9mEa++CJo/POrhgV6WZLfPSEMU3yveYyUX/d/7TLy Yp3AMp7yzN9LSNgVeVupYH0rjtWEMbD4P/+8m8tMmzELu/CsC6Q47f76IGpoj8qHg7GgbUM yCXQwkBugn3spdAhzZqWS7BZsTsIsAcFVwOL0Dl7Vwq9V3as2AZlb4q+jsJMYhHjlH87Qg1 CmzM7Il5NrJ+2VCgCR9KQ== X-Spam-Flag: NO UI-OutboundReport: notjunk:1;M01:P0:3rBb2p2Q0+I=;Nhi6ZjTNWC/LHxglXDgXPDYqc3K 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 YWkTPlg0xVO Content-Transfer-Encoding: quoted-printable List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Am Sun, Apr 19, 2026 at 11:17:47AM -0400 schrieb Tom Lane: > > Am Sun, Apr 19, 2026 at 06:54:02AM -0700 schrieb David G. Johnston: > >> You know about deferred constraints, you should use them here. This = is one > >> of the key use cases motivating their existence. >=20 > > Indeed. I was of the mistaken impression that UNIQUE > > constraints were not deferrable ... >=20 > Once upon a time they were not, but we fixed that years ago. A late thanks, it came in handy today :-) Karsten =2D-=20 GPG 40BE 5B0E C98E 1713 AFA6 5BC0 3BEA AC80 7D4F C89B