On Wed, Feb 16, 2022 at 05:46 PM Adrian Klaver wrote
On 2/16/22 05:27, Carsten Klein wrote:
Hi there,
I'm using several (now unsupported) PostgreSQL 9.3.24 servers on
different (ancient) Ubuntu 14.04 LTS machines. On only one of those
servers, I get strange/wrong results when converting a string into a
double value:
Has anyone an idea of what's going on here? I know, this version is
far from still being supported, however, there's not much real changes
in file float.c between these versions (in other words, this may
happen with recent versions as well?). The database instances on all
servers are configured quite the same (more or less).
What is the more or less for the problem server?
What? Didn't get that...
Are the hardware(CPU) architectures the same for all the servers?
The problem server is a virtual machine (VMware). I've tested this on
two other servers and do receive probably correct results. One of these
is also a virtual machine (same VMware, running on different hardware),
the other one is a physical box with an AMD Athlon(tm) II X4 640 64-bit
processor.
Customer site:
Production System: VMware (ESX Host A) works as expected
Testing System: VMware (ESX Host B) DOES NOT WORK as expected
Our site:
Development System: AMD Athlon(tm) II works as expected
However, since the strtod function works correctly from my tiny C
program on all these machines, I don't believe that this problem has to
do with hardware or architecture. I guess, PostgreSQL dynamically links
to these C library functions, right?
If not how does the problem server differ?
I certainly have no idea. Actually, I don't see any more relevant
differences.
Was Postgres installed from the same source/same way on all the server?
PostgreSQL was installed from Ubuntu's official repositories (14.04 LTS)
on all servers.
--
Carsten Klein
c(dot)klein(@)datagis(dot)com