On 05/04/2017 07:44 AM, Tom Lane wrote:
> Adrian Klaver <adrian.klaver@aklaver.com> writes:
>> Alright I see that, but why does my example show a
>> numeric_precision_radix of 10?
>
>> Is there some transition point where it goes from base 10 to base 2?
>
> In PG, "numeric" always has radix 10, because the underlying
> implementation is decimal, and all other numerical types such as int and
> float have radix 2, because the underlying implementation is binary.
> Other DBMSses could perhaps do it differently.
>
> Hmm ... you could argue that numeric_precision_radix is telling you
> something about the type's arithmetic behavior independently of what
> the particular column's maximum-precision-if-any is. That's not how
> the SQL spec defines it, but that's really what it's doing.
>
>> Also why does the OPs query show anything when the data_type is integer?
>
> The point is that our integers are 32-bit integers, not some other size.
> If you try it on bigint or smallint columns, you'll get other answers.
Got it thanks, I was being too literal in my interpretation of numeric.
>
> regards, tom lane
>
--
Adrian Klaver
adrian.klaver@aklaver.com