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 1vCAU1-009tIF-6v for pgsql-general@arkaria.postgresql.org; Fri, 24 Oct 2025 05:37:00 +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 1vCAU0-00E0sC-62 for pgsql-general@arkaria.postgresql.org; Fri, 24 Oct 2025 05:36: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 1vCAS2-00Dwvu-J5 for pgsql-general@lists.postgresql.org; Fri, 24 Oct 2025 05:34:57 +0000 Received: from mail-pj1-x1033.google.com ([2607:f8b0:4864:20::1033]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vCARz-003Txp-2w for pgsql-general@lists.postgresql.org; Fri, 24 Oct 2025 05:34:56 +0000 Received: by mail-pj1-x1033.google.com with SMTP id 98e67ed59e1d1-3327f8ed081so2177749a91.1 for ; Thu, 23 Oct 2025 22:34:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1761284095; x=1761888895; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=IkesF+pDQWAoUlxHceSCIjRhOlsWCylGWLr9QVG/IU8=; b=X6/TT8bF1xvUDdIb+1169mZEujzleUJ6KTRSDxtBKD/NBR+0Bs4TBOyLq1PpWrSzU5 /LO8AxO/yX3n/40iGYfBBP7N0VxsoCYa/+K95rJvfhP4gnxnBKtXFGguJO2DfFl+qhgW 8lDSopyfSiW4gI7J+u2WTKH+Kylsde7KWO3oRCCshR6dKVstFZPlKuyrEvuDPES9Qa9L a7XiimUiGX9lyuC5L0ojKMqqN0ios9AjUWCQNk1Ur8UGSjjvKxynVHDuiEmmk6yPuuka aq/bC3CVRw+jUKHTuHCWnIzndYvqRnQAOqJgMSlQKO+oh/1Yl8dbKhp0BKeHUoE4e0U1 PAEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1761284095; x=1761888895; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=IkesF+pDQWAoUlxHceSCIjRhOlsWCylGWLr9QVG/IU8=; b=Ko7ealXzK7vNkWqdLO/tcOWyDQovm4hRElqIGaAaCu6Qlpx7Y5c4gBRzW7AeWJ2ChC n7WoQMiHRLaifFLoC5j8RkR8z0EXtNE3JLWEBreqToTEh42eBdyY+TU3AyRnrJ1Qtb1W i8cJZnHePuDPRdJ5xzY/NrP+BlwViqEDXh9grsuCuzKm0Eh+fLAW4XbBrDDzfncMiFzo 7f4xMvZPHx6zVMBzEzqz027pS1ddbx511vcsmikKxhsFheFOFJ7O3LLeY0c0kfeozayq rWdmV1YKZCmar58EJXQzL/wWn4EuW48DqoxHS4GN6FfW9IsinN3jqK1PvTswXlUdnFGh nLIw== X-Forwarded-Encrypted: i=1; AJvYcCXZJLbINbBdxhlMSwUlkS64SQZq+XNX0bkiGty4bCvNMyFrMsZ7l524FGdubZ03LiItOfFo//zjl4Frgsvj@lists.postgresql.org X-Gm-Message-State: AOJu0YxOZ6glkin+Vp4YidGrU7KSVYK/nRErKRS8ZQFdtO5Lx5OQ7rPc dV/xYQq8QJ+IHilxBOrMAPgO1obq9ANUA+6V3EEMJG6I0RtpYegpfrKREZ9Z3vSDjRsXcZmyj6r KWRCM+hYZR/Q16l8MOK1+2XE3CAr7qhY= X-Gm-Gg: ASbGnctgqESoKrHOXUTF1WmeMRbieBTEm+vGB4/jwg0OrOpX9OhpgLLgovW1T9kEVNM pgtQagKzcsnanyoIcNormtSWt/Pe4xO1hqpk2uAEYLkLBXQDG9Rn5Zjv8WwWPvFmwo4x6DEG+My 7qk1wsvEwSWr16Qc2/7gZ9OEGpFp5gM9LchmOC+Q4vKM5hzayTSUClauaAUtdTl1R1b+AHvYCxr b6WKFHhlYMJ7uUGN3BUS+OIhDWxoYVfvnPjW2mh9+8h30fjaiLepbRG2PFw8OmDQ1a1w0pO X-Google-Smtp-Source: AGHT+IG/6t56J9IWthnJey4Q9EPi55d1giEvt9BO90dLrMrX58aXvoDM0MJhMAQ6ahsCiQenWLe6MRXmV/ngQrg/ges= X-Received: by 2002:a17:90b:2495:b0:33d:a0fd:2572 with SMTP id 98e67ed59e1d1-33da0fd25eemr16856212a91.22.1761284094819; Thu, 23 Oct 2025 22:34:54 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Gregory Smith Date: Fri, 24 Oct 2025 01:34:43 -0400 X-Gm-Features: AS18NWB-YK-ocupRG4WwyiVG7s8aTx7NhOBIsOac70DYL05pZnWM4UHRupMmQz4 Message-ID: Subject: Re: Index corruption issue after migration from RHEL 7 to RHEL 9 (PostgreSQL 11 streaming replication) To: Scot Kreienkamp Cc: =?UTF-8?B?RGV2cmltIEfDvG5kw7x6?= , "pgsql-general@lists.postgresql.org" , Bala M Content-Type: multipart/alternative; boundary="000000000000d1ffd80641e0e873" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000d1ffd80641e0e873 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Oct 23, 2025 at 4:24=E2=80=AFPM Scot Kreienkamp < Scot.Kreienkamp@la-z-boy.com> wrote: > > I always assumed streaming would =E2=80=9Cjust work=E2=80=9D as long as i= t=E2=80=99s the same > major PG version and Linux-to-Linux regardless of OS/glibc version....It > never occurred to me that there could be an OS influencing factor like th= e > glibc version for streaming replication. > In addition to the locale checking when things are accessed, when you bring up a database cluster it checks some pg_controldata entries to make sure they match what the server's source code was built with. If any of them are off, it won't run against those databases. As a simple example that happens sometimes, if your main Linux PG install increased the block size changed at compile time, a different PG binary built with the default sizes will fail trying to read data from the modified one. Because all these compile options have to match, sometimes you can't migrate a database built with one Linux distribution to another. When that happens it's sometimes possible to hack together a custom build that matches the origin primary better, but now you're into packaging your own PG binaries. --000000000000d1ffd80641e0e873 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Thu, Oct 23, 2025 at 4:24=E2=80=AFPM S= cot Kreienkamp <Scot.Kre= ienkamp@la-z-boy.com> wrote:


I always assumed streaming would =E2=80=9Cjust w= ork=E2=80=9D as long as it=E2=80=99s the same major PG version and Linux-to-Linux regardle= ss of OS/glibc version....It never occurred to me that there could be an OS= influencing factor like the glibc version for streaming replication.

=
In addition to the locale checking when things are accessed,= when you bring up a database cluster it checks some pg_controldata entries= to make sure they match what the server's source code was built with.= =C2=A0 If any of them are off, it won't run against those databases.

As a simple example that happens sometimes, if your = main Linux PG install increased the block size changed at compile time, a d= ifferent PG binary built with the default sizes will fail trying to read da= ta from the modified one.=C2=A0 Because all these compile options have to m= atch, sometimes you can't migrate a database built with one Linux distr= ibution to another.=C2=A0 When that happens it's sometimes possible to = hack together a custom build that matches the origin primary better, but no= w you're into packaging your own PG binaries.

--000000000000d1ffd80641e0e873--