Re: Newbee question "Types"

Поиск
Список
Период
Сортировка
От Bruce Momjian
Тема Re: Newbee question "Types"
Дата
Msg-id 200212060147.gB61l8802766@candle.pha.pa.us
обсуждение исходный текст
Ответ на Re: Newbee question "Types"  ("Josh Berkus" <josh@agliodbs.com>)
Ответы Re: Newbee question "Types"  (Josh Berkus <josh@agliodbs.com>)
Список pgsql-general
Josh Berkus wrote:
> Ken,
>
> 1. Using column type "char" vs "varchar" vs "text"
>    I understand the documented differences, but Why wouldn't
>    someone just use varchar(x) instead of plain char(x)? It's
>    definitely more flexable. Or would using char(x) just help one
>    stay in sql conformity? How about performance differences?
>    Disk space differences? Would not varchar(45) vs char(45)
>    consume less space if used with less than 45 characters?
>
> In postgresql, CHAR is supplied for 3 reasons:
> 1) For compatibility with other database systems that use CHAR.
> 2) For SQL99 Compliance
> 3) For compatibility with software that expects space-filled CHAR
> fields.
>
> For a Postgres-native application, there is no reason to ever use CHAR.
>  It does not perform any better, and can lead to significant annoyance.

I disagree on that one.  Char _forces_ a specific length, so it pads to
the specified length.  For certain applications, this can be a benefit,
and often documents that the length is exactly as specified, e.g.
CHAR(2) for US state codes.

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

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

Предыдущее
От: Greg Stark
Дата:
Сообщение: Re: 7.3 no longer using indexes for LIKE queries
Следующее
От: Josh Berkus
Дата:
Сообщение: Re: Newbee question "Types"