Re: [GENERAL] Column information

Поиск
Список
Период
Сортировка
От Adrian Klaver
Тема Re: [GENERAL] Column information
Дата
Msg-id 7712e49e-4ef4-2f2e-b16c-970bd62f038c@aklaver.com
обсуждение исходный текст
Ответ на Re: [GENERAL] Column information  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: [GENERAL] Column information  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-general
On 05/04/2017 07:29 AM, Tom Lane wrote:
> Adrian Klaver <adrian.klaver@aklaver.com> writes:
>> On 05/04/2017 07:00 AM, Tom Lane wrote:
>>> No, certainly not.  The radix column says what the units of measurement
>>> are, not that the values in the precision column aren't decimal.  So radix
>>> 2 indicates that precision 32 means "32 bits", not "32 decimal digits".
>
>> Alright now I am confused:
>
>> https://www.postgresql.org/docs/9.6/static/infoschema-columns.html
>
>> "numeric_precision     cardinal_number
>
>> If data_type identifies a numeric type, this column contains the
>> (declared or implicit) precision of the type for this column. The
>> precision indicates the number of significant digits. It can be
>> expressed in decimal (base 10) or binary (base 2) terms, as specified in
>> the column numeric_precision_radix. For all other data types, this
>> column is null.
>> "
>
> I'm not here to defend the wording in our documentation ;-)
>
> Perhaps this would be clearer if it said "measured in ... digits" rather
> than "expressed in ... terms"?
>
> It should probably also say "identifies a numeric type of restricted
> precision", since for example it'll be null for a column that's
> NUMERIC but has no typmod.

Think I answered my own question. Numeric refers to all the types under:

https://www.postgresql.org/docs/9.6/static/datatype-numeric.html

not just the specific type numeric.

So:

production=# \d projection

....

pot_ct      | integer

....

production=# select * from information_schema.columns where table_name
='projection' and column_name='pot_ct';

...

numeric_precision        | 32
numeric_precision_radix  | 2
numeric_scale            | 0

...


Then the output is saying I am looking at a 32 bit integer(int4). If the
table definition had been int8, the output would be:

numeric_precision        | 64
numeric_precision_radix  | 2
numeric_scale            | 0

>
>             regards, tom lane
>


--
Adrian Klaver
adrian.klaver@aklaver.com


В списке pgsql-general по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: [GENERAL] Column information
Следующее
От: Adrian Klaver
Дата:
Сообщение: Re: [GENERAL] Column information