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 1uNIWf-00GSAU-5O for pgsql-general@arkaria.postgresql.org; Thu, 05 Jun 2025 21:53:29 +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 1uNIWc-00Fid3-EW for pgsql-general@arkaria.postgresql.org; Thu, 05 Jun 2025 21:53:27 +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 1uNIWc-00Ficv-4B for pgsql-general@lists.postgresql.org; Thu, 05 Jun 2025 21:53:26 +0000 Received: from mail-pl1-x62c.google.com ([2607:f8b0:4864:20::62c]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1uNIWa-000QoJ-2y for pgsql-general@postgresql.org; Thu, 05 Jun 2025 21:53:26 +0000 Received: by mail-pl1-x62c.google.com with SMTP id d9443c01a7336-2349f096605so17361705ad.3 for ; Thu, 05 Jun 2025 14:53:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=j-davis-com.20230601.gappssmtp.com; s=20230601; t=1749160402; x=1749765202; darn=postgresql.org; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject :date:message-id:reply-to; bh=IIfY9W2qahCgB7cMHa6GcbBIfWbYfOVricZuVI9x0Bw=; b=OBbCPGTzqungOYTLS5Zm/PA37SvLidAGeK15kpHELti37NV2gLQb6b+7Cm/QpG5Du5 qcXdxpMV4rsdyulNUHg9WkYV9gSrWzs3U+33lRLEJZUoSEog02osA0GsfAJygb8bjzPV EnN1MHShZLO5meyibiI2uuRFzf9bxSAXhlMFe0qla0gbSud8yyr6ngfXdWFT+fqvmUp/ ogicy0cwARQ8DeekR7ytZ05lmr/qFXeUuAb6CYdY0uKhFrsx3zngvCDd3J94g3WoOkSI w4H0J30W4d2G+mDEgp2QTpv711nwdkn0QV0zRnNML7GPWFikxW/p11ILld+rzryWm6ub OPDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749160402; x=1749765202; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=IIfY9W2qahCgB7cMHa6GcbBIfWbYfOVricZuVI9x0Bw=; b=LhANZzcViKziULi75F2ouXevP0Q77zoe4uGW1L6XRNcxxqpd++f/QXsY4XSiCBI+EG /QqYTHXcggdsukA3JydoBFxocdDhEjVs0P2+0KIDLkdN4ztK4lnZFozhCAqBe0iBLEUa RPEDMqSD52+OPHAESfCakSWgxQiiObGyvAYJME/9jhN1hmR0BUg9UcED1wqHHKyQvj6X bs8O8DuYe+0nEWdhuyr7WI9J8ZLq0KDzmxh0kNdqE/mBWHeysERDUrXzpx+D0Hw70y/p 2PxI8nAo7ZvK1giM/NqNvia1MTSPAiNHeP10P3HmUDRmOKuMi1B4LO9tOUBvHHkwMtU6 25vg== X-Forwarded-Encrypted: i=1; AJvYcCVzOhIHHDMp8231bJmcKm0+uxj50c3CREp4vg4/bSC4e1TNhuaVdkZhYme5GvzX5d3eXXmfyHxd1yCaIWyq@postgresql.org X-Gm-Message-State: AOJu0Yz1OD8GOFWISxMJVtmOnvbHAN1Lz8kdM9k6O8JWjscXxIWrY7Qn peXZerleMNOfdtxSF3asWhqQn8M6X65AdhcpDCMh388/c24IAtQY9u6w8Qc2AxsD5g== X-Gm-Gg: ASbGncuFhu5Ig2pSj4Dtqk1XFX45w5NNWLG4pVgrYUlAptXX11ZIZSvQWBCIb7bd2R4 mXIoHz5ftsbF55KuW2coD1vbx8Xfi5aiSG1XHt0GCDV8lH+ksTbE2NyBST4ig7YiNI/Z6fvIBX9 OXLx2Xee3VXLiJPEMRwXXFh5nQUFBfvr9jGMZ1N3nda/y7COoIo2UDYsQ2V75IlXzm+eT6qEj6X buf6/L5fU6hwNwko132V/XNGzxUjbyCb4FzhYsFFhBccqB8uczU92BQirYEgnYhwGjJpn8JoG3h BkWO7swGKgf63s4H0suCnERAE8SgOmKJk1WPJQn3C/JEgXSniZZKZpCtZizrkc3/71RXdIwarxc eZi0yisNORAZpkPSg5iJb6A== X-Google-Smtp-Source: AGHT+IHj7snR9XbaV3U0YDhJ29RU7S4/vhjB1fAE0yhYaOA/EaO1UMyZ1tEGf8SIgtpnOGYy4+0Nfg== X-Received: by 2002:a17:903:2f8d:b0:235:eefe:68ec with SMTP id d9443c01a7336-23601d08619mr15097805ad.19.1749160402033; Thu, 05 Jun 2025 14:53:22 -0700 (PDT) Received: from jeff-ws-bridge.lan (c-76-102-242-158.hsd1.ca.comcast.net. [76.102.242.158]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-236032fcf2esm789975ad.123.2025.06.05.14.53.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Jun 2025 14:53:21 -0700 (PDT) Message-ID: <74cdc1981c0bc8a0929f9b5ef980d91841c52a49.camel@j-davis.com> Subject: Re: LOCALE C.UTF-8 on EDB Windows v17 server From: Jeff Davis To: Dominique Devienne , Daniel Verite Cc: Laurenz Albe , pgsql-general@postgresql.org Date: Thu, 05 Jun 2025 14:53:20 -0700 In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.52.3-0ubuntu1 MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On Thu, 2025-06-05 at 15:07 +0200, Dominique Devienne wrote: > But isn't the point of the new-in-v17 builtin provider is to be > system > independent??? Yes, a major part of the builtin provider is complete consistency across platforms for the entire collation system -- anything affected by the database default collation or a COLLATE clause, including comparisons, casing behavior, pattern matching, etc. New major versions=C2=A0of Postgres may update Unicode, but those updates will never affect comparisons in the builtin C.UTF-8 locale; and will only affect other behaviors (like casing) subject to the (rather strict) Unicode stability policy[1]. Regarding datcollate and datctype: those affect the LC_COLLATE and LC_CTYPE environment variables, and Postgres does a setlocale() upon a new database connection. That only affects libc functions like strcoll(), so it won't affect the builtin provider or ICU which don't use strcoll(). You're right to ask why those matter at all, then. It's hard for me to guarantee that datcollate/datctype won't affect some other part of the system or an extension (I see that Daniel offered some more details). I'd like to force LC_COLLATE=3DC and LC_CTYPE=3DC, and then there'd be no question, but I won't promise when that will happen. I'd suggest just forcing those to "C" in your database. Regards, Jeff Davis [1] https://www.unicode.org/policies/stability_policy.html