Rihad wrote: >DETAIL: The database was created using collation version 43.0, but the > operating system provides version 34.0.
> The OS are both FreeBSD, but the master runs 14.3, the replica runs > 13.5. PostgreSQL packages are built with ICU support by default, the > versions used are identical: icu-76.1 > > > Could it be that the OS (libc) needs to be the same version? I hoped it > would be enough to use the same ICU. That would be the case if the database collation provider was ICU, that is pg_database.datlocprovider = 'i' Otherwise no, it's the libc version that matters, unless using the binary-sorting C or C.UTF-8 collations. 43.0 and 34.0 don't look like ICU collation version numbers, so they probably refer to FreeBSD libc (pg_database.datlocprovider = 'c') As a general rule, you should indeed run the same OS version for the primary and physical replicas. Before Postgres version 15 this message did not exist, so the risks of mismatch were silent but they existed just the same. Best regards, -- Daniel Vérité https://postgresql.verite.pro/
