Re: [pgadmin-hackers] Fwd: Re: Howto change column

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: [pgadmin-hackers] Fwd: Re: Howto change column
Дата
Msg-id 5693.1005158532@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: [pgadmin-hackers] Fwd: Re: Howto change column  (Stephan Szabo <sszabo@megazone23.bigpanda.com>)
Список pgsql-general
Stephan Szabo <sszabo@megazone23.bigpanda.com> writes:
> For the text types I think it's generally length+4.  For numeric, I think
> it's precision*65536+scale.  The best way to find out is probably to
> declare a column of the target type and check.

Or experiment with format_type(), or read the source code for same.
For example:

regression=# select oid from pg_type where typname = 'numeric';
 oid
------
 1700
(1 row)

regression=# select format_type(1700, 10 * 65536 + 7);
  format_type
---------------
 numeric(10,3)
(1 row)

Looks like there's an offset of 4 for numeric, too.  But a look into
src/backend/utils/adt/format_type.c gives the exact recipe ...

            regards, tom lane

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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: More Performance Questions
Следующее
От: "Peter Darley"
Дата:
Сообщение: Re: More Performance Questions