On 1/8/26 5:19 PM, Daniel Verite wrote:
> 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,
Thanks. Both FreeBSD 13.5 & 14.3 are "current", just from different
major branches. I wonder why they use such different locale/collate
versioning, meaning that they differ roughly by that much as in 34 vs.
43. Maybe someone there mistyped 34?)