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 1v9mIl-008EVm-Rr for pgsql-hackers@arkaria.postgresql.org; Fri, 17 Oct 2025 15:23:31 +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 1v9mIk-003JSD-Pu for pgsql-hackers@arkaria.postgresql.org; Fri, 17 Oct 2025 15:23:29 +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.94.2) (envelope-from ) id 1v9mIk-003JS5-Fq for pgsql-hackers@lists.postgresql.org; Fri, 17 Oct 2025 15:23:29 +0000 Received: from fout-b5-smtp.messagingengine.com ([202.12.124.148]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1v9mIh-002juR-0h for pgsql-hackers@postgresql.org; Fri, 17 Oct 2025 15:23:29 +0000 Received: from phl-compute-09.internal (phl-compute-09.internal [10.202.2.49]) by mailfout.stl.internal (Postfix) with ESMTP id C80E01D000B9; Fri, 17 Oct 2025 11:23:24 -0400 (EDT) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-09.internal (MEProxy); Fri, 17 Oct 2025 11:23:24 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eisentraut.org; h=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=fm1; t=1760714604; x=1760801004; bh=082Gjifd+kS4yZk0kvSpIp9e3v/LAGU4GRrRhPnqbSE=; b= lB+5CQ5h4gGsm7ow97K3WRda462O3lOkaSYBg+MiT9m7dcdSF0FAAp9cCWvzheRt DOZ2jkvs2e2Dfcp/0thBptm4C3r6vVOGx7nfabEVSHdpinkC+AjbksW+RrCSht+G wScl/UywIHfK4y6oLa7rY3A+hucwQINEzlWwA9TGKrmdeRrJynEkXG3Ada0kGPwV cUIgTqkV2pMOmTBrXc2vHCE7bkIZzqDUMi1DosuJvH+1/wEbdTp/U97cvvlfS9Ij sPm9WME3jtSatcj2rDmDgBWv+lyyU6gVqhcl7zVJWerNZBVlnt2CHuuxlMUxkQwZ VW86ewanNXQalzZgNxFGhQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=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-sender :x-me-sender:x-sasl-enc; s=fm2; t=1760714604; x=1760801004; bh=0 82Gjifd+kS4yZk0kvSpIp9e3v/LAGU4GRrRhPnqbSE=; b=S2L+/nTY/PS6xB4y8 ER5qVEJVA+//5G6zJ4xMf8WLexzoheF+33glF5RZPDik/3U/pyZ01dLFoJEFRJrI tRS2o8HN9GMhFYXWCi2/8VKphJwBYFeV1SfR7TIlsgcQ4auVJzXz8OL7sRsQtOO4 0+PuZ5WY+xeutprXGDcYmwtc0Asv6qUIXTz32e1Ofz0lZkzseFmgoEl7QZnaCqNV wefdr3oO3jEvaq2htdXZb0QJ24EWNeZ4w4B/9NmESBz4q6CgwK1kTlTbMlt5rUwV P+ih9OLT1qZ9CEpRgfCODRK9ufTgXb2K54APVou8O7OAy6Hwguz+KTAs6Amo+fFd LkTDA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggdduvdelhedvucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucenucfjughrpefkffggfgfuvfhfhfgjtgfgsehtjeertd dtvdejnecuhfhrohhmpefrvghtvghrucfgihhsvghnthhrrghuthcuoehpvghtvghrsegv ihhsvghnthhrrghuthdrohhrgheqnecuggftrfgrthhtvghrnhepheeivdfhuefhueeggf efheegjedtveeuhfethfeufedvudfgtdeuhefgfeduhfffnecuvehluhhsthgvrhfuihii vgeptdenucfrrghrrghmpehmrghilhhfrhhomhepphgvthgvrhesvghishgvnhhtrhgruh htrdhorhhgpdhnsggprhgtphhtthhopedvpdhmohguvgepshhmthhpohhuthdprhgtphht thhopehpghhsqhhlsehjqdgurghvihhsrdgtohhmpdhrtghpthhtohepphhgshhqlhdqhh grtghkvghrshesphhoshhtghhrvghsqhhlrdhorhhg X-ME-Proxy: Feedback-ID: ie0a040ee:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri, 17 Oct 2025 11:23:23 -0400 (EDT) Message-ID: Date: Fri, 17 Oct 2025 17:23:22 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Change initdb default to the builtin collation provider To: Jeff Davis , pgsql-hackers@postgresql.org References: Content-Language: en-US From: Peter Eisentraut In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 11.10.25 02:48, Jeff Davis wrote: > The builtin provider uses code point order, i.e. memcmp(), so the > final result display order is less human-friendly. For instance, 'Z' > comes before 'a'. > > That problem is annoying, but*much* easier to fix than the other > factors. The user might add a COLLATE clause to the final ORDER BY, or > perform the sort in the application layer or presentation layer. I remain violently opposed to this idea. I don't understand how it could be acceptable to just not provide a good display order by default and have everyone rewrite their queries. > ICU is better than libc in a lot of ways: > > * Better performance > * Platform-independent > * Easier to manage it as a separate library > > But fundamentally, I don't think it's a great default, because it > favors final result display order at the risk of primary key > inconsistencies. I don't understand. We have a versioning system for ICU collations? Does it not work?