Tom Lane wrote: > Obviously, if you are transporting the dump across platforms then that > may be an impossibility. In that case you use a text dump and accept > that you get an approximation. That's something that I've been meaning to ask about, but you all seemed so sure of yourself. What you are essentially saying is that no one aside from the server itself is allowed to get full precision. That seems like a strange decision to make. > But there should be a way to ensure that > you can have a lossless dump of whatever strange FP format your server > may use, as long as you are restoring onto a similar machine. > Personally (and I know my opinion "doesn't count"), I find the "similar machine" requirement a bit hard. It is usually accepted for HA or live load balancing, but is really inappropriate for backups or data transfers. Just my humble opinion. > If there is a guaranteed-reversible transform between the ARM FP format > and IEEE format, then I'd be interested in hacking things the way you > suggest I find it highly likely that there will be. After all, the ARM format was not designed to be better packed than IEEE, just easier to hardware implement in an efficient way. However > --- but what I suspect is that such a conversion must lose > either range or precision. There are only so many bits in a double. > Like I said elsewhere, a 64bit FP only has 64bits, but there is nothing constraining us to export a 64bit number to 64bits. > regards, tom lane > What I'm worried about in that regard is about other platforms that PG may be running on. Like I said above, I'm fairly sure (will get the specs and make sure) that there shouldn't be a problem in exporting ARM FP into 64bit IEEE with no loss at all. This says nothing, however, about other platforms. Unless we map all cases, we had better choose an export format that is capable of extension.
Shachar ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match