Иллюстрированный самоучитель по PostgreSQL

Типы данных

SQL относится к категории языков с сильной типизацией. Это означает, что с любым объектом данных, представленным в PostgreSQL, связывается определенный тип, даже если на первый взгляд это и не очевидно. Тип данных одновременно определяет и ограничивает разновидности операций, которые могут выполняться с этими данными.

Типы не только ассоциируются со всеми данными, но и играют важную роль при создании таблиц. Как упоминалось в разделе "Знакомство с реляционными базами данных", таблицы состоят из одного или нескольких полей. При создании таблицы каждому полю, помимо имени, назначается определенный тип данных.

Примечание
Хотя в PostgreSQL предусмотрен достаточно широкий спектр встроенных типов данных, вы также можете определять собственные типы данных командой CREATE TYPE. За дополнительной информацией обращайтесь к описанию команды CREATE TYPE
.

В табл. 3.10 перечислены базовые типы данных PostgreSQL, а также их синонимы (альтернативные имена). Также существует множество внутренних (то есть не предназначенных для нормального использования) и устаревших типов данных, которые не приводятся в таблице.

Хотя большинство типов данных PostgreSQL взято непосредственно из стандартов SQL, существуют и другие, нестандартные типы данных (например, геометрические и сетевые типы). По этой причине у типов данных PostgreSQL не всегда находятся прямые аналоги в других СУБД на базе SQL.

Таблица 3.10. Типы данных PostgreSQL.

Тип данных Описание Стандарт
Логические и двоичные типы данных
boolean, bool Отдельная логическая величина (true или false) SQL99
bit(n) Битовая последовательность фиксированной длины (ровно nбит) SQL92
bit varying(/7),varbit(rt) Битовая последовательность переменной длины (до n бит) SQL92
Символьные типы
character(n), char(n) Символьная строка фиксированной длины (ровно n символов) SQL89
character varying(n), varchar(n) Символьная строка переменной длины (до n символов) SQL92
text Символьная строка переменной или неограниченной длины PostgreSQL
Числовые типы
small int, int2 2-байтовое целое со знаком SQL89
integer, int, int4 4-байтовое целое со знаком SQL92
bigint, int8 8-байтовое целое со знаком, до 18 цифр PostgreSQL
real, float4 4-байтовое вещественное число SQL89
double precision, floats, float 8-байтовое вещественное число SQL89
numeric(p.s), decimal (p.s) Число из р цифр, содержащее 5 цифр в дробной части SQL99
money Фиксированная точность, представление денежных величин PostgreSQL,
считается устаревшим
serial 4-байтовое целое с автоматическим приращением PostgreSQL
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.