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 1tsfX3-004JBR-Vt for pgsql-general@arkaria.postgresql.org; Thu, 13 Mar 2025 10:11:18 +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 1tsfX1-009jkF-UP for pgsql-general@arkaria.postgresql.org; Thu, 13 Mar 2025 10:11:15 +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 1tsfX1-009jem-E7 for pgsql-general@lists.postgresql.org; Thu, 13 Mar 2025 10:11:15 +0000 Received: from mail-wm1-x32b.google.com ([2a00:1450:4864:20::32b]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1tsfWz-002arP-14 for pgsql-general@lists.postgresql.org; Thu, 13 Mar 2025 10:11:14 +0000 Received: by mail-wm1-x32b.google.com with SMTP id 5b1f17b1804b1-43ce71582e9so4477965e9.1 for ; Thu, 13 Mar 2025 03:11:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1741860672; x=1742465472; darn=lists.postgresql.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=ZBAaaaj0huE5w2FaWZxBzGlHn8/f9wafhmc4zcqBFxk=; b=c5KLazujZxiZ6bi+5CRTpV+vR5g/BgR3NglFx8Y049XaHKkiYv/eEnRjdf3Ler99w9 ewhmFGGAvlDh0vWzOCL1w267qvKCHxt0LtzciOCo/Blww28kSfR5Dy0JrgQKT2Zizfvo Ybh7fCPpQKrehkCEGylWQzenVzkTTCXIOjfGsLnwZnz/8CyBdXh7Gh5WmoiBaD64Bw5F DDQWu7pzOj91E3xfY4/PiZOeert43J90YbJC1Bj6gRI1gbnlrXggGxkadgCFgwsyz5qd 7Tm/OjonoL9cngI2cPTkuvvUvjPvDYclDBcmPw6EAnOdb83S/iQbWFMqedANGtM/HODj RK9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741860672; x=1742465472; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZBAaaaj0huE5w2FaWZxBzGlHn8/f9wafhmc4zcqBFxk=; b=KCoWhjObihqXPJi7N8nA3x9gNZcIrh1z2R9tSiG6UpPzDsLO2eEAejbbvbGTx3i5AW dKPe4p1r2qsSUK8DQyycLPnKJOawN8ZaisLMZbO/S73uGHPtxyTNPYXl3V9xYCeiOd6V 2F/Jh+pY/aksg6wknQ63htFSMszCg43VaW8BPNwysCYU7w2VOp/u/LYEBLqr/+kdNWCd ZKL2RHa7ZxYZtgYM4eGf88cK00dyRx46m+rDA7lKohgRlPD/ecNqGnmPuAB1z7t3Y75G ZFGvgCC8LelDdnzwiV5/ntBvJF7TltjgcAUylbzE+ApVwcifUYQItZLIjSKrST3nDtEN SSyg== X-Forwarded-Encrypted: i=1; AJvYcCUp1Vk6ZCrXMCBzgcnVVX59XR0eiAQipMyWc+wsJNOD3je5Hc38BR3ClYwhjMkINawVsv2jp2PkRCoXgWFx@lists.postgresql.org X-Gm-Message-State: AOJu0YxLB9VKmDQxHDnkozK4IZMw1zJcivuAMpKsb0GNlaJzt3GIV7cw u/moRwCK9z5Kcl+u8OvXkxASn0kLT9OZLrBBYbgcpoz7Jk2xn9mTmPKcux70 X-Gm-Gg: ASbGnctAqFc4LfhfK742o+l9QEowgW0J0s2V7im6gro2kPemXe6avRA7BNUGTYJv6qm 3BGL6sd1NergH83XA1zFX18P9N/nbR1qv+qI1l6vuDrG1/Y0E1c2yW0Z7jKZQp74eVo1oH0yZL7 NXa52Rpx8PusZvPBr0X2GtioEQEnBaVhOzNYsjgDt+lvmHEtt24W40S9TSU9QimXQoLp1gRGqFv 1UQk7utnmlrHXI4Liq4T2Vg9C6DSTT7cjU4GlNG5vfCirCes0Kt3Pav71IRk+N/1UO69gyfQGmq tGDIP/Tn8o24f7E0fFSnWJNSXWTEyzSOzDtdU2dF9pQQlRbk0CTw4SdRpjIsm/N5iDvIYSDZd6f LyTnvcYsqE60/jOzH1PhF1A== X-Google-Smtp-Source: AGHT+IH6M0yVBnw6tezSlsflPa3ILImQPJm0oxZWuwwPRUih10wucmuGG09A46bHC52YcVGJRxg+sQ== X-Received: by 2002:a05:600c:4e88:b0:43c:f4b3:b08b with SMTP id 5b1f17b1804b1-43cf4b3b368mr137207825e9.3.1741860671550; Thu, 13 Mar 2025 03:11:11 -0700 (PDT) Received: from smtpclient.apple (143-45-239-77.dyn.cable.qlnet.ch. [77.239.45.143]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-395c7df31f6sm1596247f8f.6.2025.03.13.03.11.10 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 13 Mar 2025 03:11:11 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.400.131.1.6\)) Subject: Re: Moving from Linux to Linux? From: Paul Foerster In-Reply-To: Date: Thu, 13 Mar 2025 11:10:40 +0100 Cc: Adrian Klaver , Pgsql-General List Content-Transfer-Encoding: quoted-printable Message-Id: <6C78D9E9-2EC3-4FBF-AC22-268DCE8F6A91@gmail.com> References: <6E6059F6-E5A1-4A8D-8A5E-A41B921BBE67@gmail.com> <9a8d92de-228c-43b0-b66c-c3390b41044a@aklaver.com> To: Joe Conway X-Mailer: Apple Mail (2.3826.400.131.1.6) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk Hi Joe, > On 13 Mar 2025, at 03:55, Joe Conway wrote: >=20 > If you are desperate you could start with = https://github.com/awslabs/compat-collation-for-glibc and create a new = branch for your current version of SLES/glibc and deploy the resulting = rpm to RHEL. At least in theory. FWIW I was able to get the glibc locale = compatibility library for AL2 (glibc 2.26) to work fine on Linux Mint = system (glibc 2.34). I'm not desperate. Moving from SUSE to Red Hat is an option to make = especially building PostGIS easier to handle. We were advised this way = by a consultant, who also told us that he had never seen anyone actually = running PostGIS on SUSE. We need to build PostGIS from source because we = have to meet some special requirements. SUSE is usually hopelessly out = of date as far as dependency packages are concerned. So we have to build = them too from source (cgal, SFCGAL, gdal, proj, =E2=80=A6 you name it). = The idea is that Red Hat makes those things easier to handle because = their repository is more current than SUSE's. > For more on the compatibility library you could watch a = presentation[1] starting here: > https://youtu.be/0E6O-V8Jato?t=3D1749 I'm going to watch this one later. Thanks very much. > The other option, which may be equally untenable, is to upgrade = in-place to pg17 and convert everything to use the new built-in = collation provider. That ought to be portable across different versions = of Linux. We have now on PostgreSQL 15.12: postgres=3D# select version(); version = --------------------------------------------------------------------------= ----------- PostgreSQL 15.12 on x86_64-pc-linux-gnu, compiled by gcc (SUSE Linux) = 7.5.0, 64-bit (1 row) postgres=3D# \l postgres List of databases Name | Owner | Encoding | Collate | Ctype | ICU Locale = | Locale Provider | Access privileges = ----------+----------+----------+-------------+-------------+------------+= -----------------+----------------------- postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | = | libc | postgres=3DCTc/postgres (1 row) And we are going to PostgreSQL 17.4: postgres=3D# select version(); version = --------------------------------------------------------------------------= ---------- PostgreSQL 17.4 on x86_64-pc-linux-gnu, compiled by gcc (SUSE Linux) = 7.5.0, 64-bit (1 row) postgres=3D# \l postgres List of databases Name | Owner | Encoding | Locale Provider | Collate | = Ctype | Locale | ICU Rules | Access privileges = ----------+----------+----------+-----------------+-------------+---------= ----+--------+-----------+------------------- postgres | postgres | UTF8 | icu | en_US.UTF-8 | = en_US.UTF-8 | en-US | | (1 row) Is C.UTF8 really the same as en_US.UTF8? I ask because though we use = en_US.UTF8, we are located in Switzerland and using non English = characters is not exactly the exception. We have characters from all = over the world in our databases. There must be no sorting differences = between en_US.UTF8 and C.UTF8. Otherwise we will run into trouble with = unhappy customers. So, C.UTF8 would only be an option if the collation = would be identical. > The problem you might find with libicu is that different versions of = ICU can have the same issues as different versions of glibc, and you = might not have the same ICU version available on SLES and RHEL. Yes, I know. As far as I have been told, libicu is far less prone to = major collation changes than glibc is. Also, libicu offers the = possibility to pin a version for a certain time. Our sysadmins will = naturally not be able to pin a glibc version without wrecking an = inevitable server upgrade. > If you want to explore the compatibility library approach contact me = off list and I will try to get you started. It has been a couple of = years since I touched it, but when I did it took me a couple of days to = get from the AL2 (glibc 2.26) branch (which was done first) to the RHEL = 7 (glibc 2.17) branch. I just took a quick glance. I don't have a Github account (and also = don't want one =F0=9F=A4=A3). I can do a git clone, but that's basically = all I know. Also, right now, I'm just exploring possibilities. As far as = I understand the readme on Github, this will replace the glibc on Red = Had with one with adapted collation rules? If this is the case, then our = admins will definitely say no to this. > [1] https://www.joeconway.com/presentations/2025-PGConf.IN-glibc.pdf This is a really good one. Thanks very much for this. Cheers, Paul