Thread: Postgresql streaming replication

Postgresql streaming replication

From
Prasanth
Date:
Hi,

We are running postgresql 16 on debian 12. I tried to create a hot standby on a different server that is running alma linux 9.  After doing the backbackup and starting the server seems like the replication is going fine. When I tried to login to the standby to run some queries got the below message. Postgresql is installed using rpm.

DETAIL:  The database was created using collation version 2.36, but the operating system provides version 2.34.
HINT:  Rebuild all objects in this database that use the default collation and run ALTER DATABASE database_name REFRESH COLLATION VERSION, or build PostgreSQL with the right library version.


Thanks,
Prasanth

Re: Postgresql streaming replication

From
Matti Linnanvuori
Date:
Hi!

You should not use streaming replication with radically different operating systems because of collation differences. Use logical replication instead.

Best regards, Matti Linnanvuori

On Tuesday, May 28th, 2024 at 17.50, Prasanth <dbadmin@pangburngroup.com> wrote:
Hi,

We are running postgresql 16 on debian 12. I tried to create a hot standby on a different server that is running alma linux 9. After doing the backbackup and starting the server seems like the replication is going fine. When I tried to login to the standby to run some queries got the below message. Postgresql is installed using rpm.

DETAIL: The database was created using collation version 2.36, but the operating system provides version 2.34.
HINT: Rebuild all objects in this database that use the default collation and run ALTER DATABASE database_name REFRESH COLLATION VERSION, or build PostgreSQL with the right library version.


Thanks,
Prasanth

Re: Postgresql streaming replication

From
Scott Ribe
Date:
> On May 28, 2024, at 8:50 AM, Prasanth <dbadmin@pangburngroup.com> wrote:
>
> Hi,
>
> We are running postgresql 16 on debian 12. I tried to create a hot standby on a different server that is running alma
linux9.  After doing the backbackup and starting the server seems like the replication is going fine. When I tried to
loginto the standby to run some queries got the below message. Postgresql is installed using rpm. 
>
> DETAIL:  The database was created using collation version 2.36, but the operating system provides version 2.34.
> HINT:  Rebuild all objects in this database that use the default collation and run ALTER DATABASE database_name
REFRESHCOLLATION VERSION, or build PostgreSQL with the right library version. 

Yep. Different versions of Linux changed collation rules in the glibc locale implementations. You will not be able to
dostreaming replication between those two Linux versions with those two builds of PostgreSQL. You will have to either: 

- get Linux versions with same (or close enough) glibc versions

- figure out how to build PostgreSQL yourself with a compatible version






Re: Postgresql streaming replication

From
Prasanth
Date:
I ran few queries and the recent data seems to be there. Would this cause differences in sorting or are there bigger issues with this difference in glibc libraries?

Thanks,
Prasanth

On 5/28/24 9:55 AM, Scott Ribe wrote:
On May 28, 2024, at 8:50 AM, Prasanth <dbadmin@pangburngroup.com> wrote:

Hi,

We are running postgresql 16 on debian 12. I tried to create a hot standby on a different server that is running alma linux 9.  After doing the backbackup and starting the server seems like the replication is going fine. When I tried to login to the standby to run some queries got the below message. Postgresql is installed using rpm.

DETAIL:  The database was created using collation version 2.36, but the operating system provides version 2.34.
HINT:  Rebuild all objects in this database that use the default collation and run ALTER DATABASE database_name REFRESH COLLATION VERSION, or build PostgreSQL with the right library version.
Yep. Different versions of Linux changed collation rules in the glibc locale implementations. You will not be able to do streaming replication between those two Linux versions with those two builds of PostgreSQL. You will have to either:

- get Linux versions with same (or close enough) glibc versions

- figure out how to build PostgreSQL yourself with a compatible version





Re: Postgresql streaming replication

From
Scott Ribe
Date:
> On May 28, 2024, at 9:00 AM, Prasanth <dbadmin@pangburngroup.com> wrote:
>
> I ran few queries and the recent data seems to be there. Would this cause differences in sorting or are there bigger
issueswith this difference in glibc libraries? 

A "difference" in sorting will literally mean some queries not finding the matching data--because indexes were created
underone set of sorting rules, then traversed under a different set of sorting rules. 


Re: Postgresql streaming replication

From
Prasanth
Date:
Does this mean that a postgresql installed on Debian vs one installed on Alma will give different results even if the data is the same? Assuming they are independent databases but with same data.

Thanks,
Prasanth

On 5/28/24 10:23 AM, Scott Ribe wrote:
On May 28, 2024, at 9:00 AM, Prasanth <dbadmin@pangburngroup.com> wrote:

I ran few queries and the recent data seems to be there. Would this cause differences in sorting or are there bigger issues with this difference in glibc libraries?
A "difference" in sorting will literally mean some queries not finding the matching data--because indexes were created under one set of sorting rules, then traversed under a different set of sorting rules.

Re: Postgresql streaming replication

From
Scott Ribe
Date:
> On May 28, 2024, at 9:30 AM, Prasanth <dbadmin@pangburngroup.com> wrote:
>
> Does this mean that a postgresql installed on Debian vs one installed on Alma will give different results even if the
datais the same? Assuming they are independent databases but with same data. 

yes: https://www.joeconway.com/presentations/glibc_issues-PGCon-2023.pdf


Re: Postgresql streaming replication

From
Prasanth
Date:
Thank you.

On 5/28/24 10:37 AM, Scott Ribe wrote:
On May 28, 2024, at 9:30 AM, Prasanth <dbadmin@pangburngroup.com> wrote:

Does this mean that a postgresql installed on Debian vs one installed on Alma will give different results even if the data is the same? Assuming they are independent databases but with same data.
yes: https://www.joeconway.com/presentations/glibc_issues-PGCon-2023.pdf