Возможности PostgreSQL
Честно говоря, я даже не знаю с чего начать. Их так много, что полная
документация на PostgreSQL составляет толстенную книжку. При этом
еще следует заметить, что некоторые вещи описаны довольно сухо. Ладно
попытаюсь зацепить всего поманельку.
Поддерживаемые типы данных
PostgreSQL | SQL92/SQL3 | Комментарий
|
---|
bool | boolean | Логический (истина/ложь)
|
box | - | Четырехугольник в плоскости (2D)
|
char(n) | character(n) | Строка символов с фиксированной длиной
|
cidr | - | IP адрес в формате IPv4
|
circle | - | Круг в плосколсти (2D)
|
date | date | Дата
|
decimal | decimal(p,s) | Требует число с p<=9, s=0
|
float4 | float(p), p<7 | Число с плафающей точкой с точностью p
|
float8 | float(p), 7<=p<16 | Число с плафающей точкой с точностью p
|
inet | - | IP адрес в формате IPv4
|
int2 | smallint | двухбайтовое знаковое целое
|
int4 | int, integer | четырехбайтовое знаковое целое
|
int8 | - | восьмибайтовое знаковое целое
|
interval | interval | временной промежуток
|
line | - | линия в плоскости (2D)
|
lseg | - | сегмент линии в плоскости (2D)
|
money | decimal(9,2) | Деньги в стиле США (подходят и России)
|
numeric | numeric(p,s) | Требует число с p<=9, s=0
|
path | - | Открытый и закрытый геометрический путь в плоскости (2D). Проще говоря ломаная или полигон
|
point | - | Геометрическая точка в плоскости (2D)
|
polygon | - | Закрытый геометрический путь в плоскости (2D). Проще говоря полигон
|
serial | - | Уникальный идентификатор для перекрестной ссылки
|
time | time | Время дня
|
timetz | time with time zone | Время дня, включая временную зону
|
timestamp | timestamp | Дата/время
|
varchar(n) | character varying(n) | Строка с переменной длиной
|
Расширения языка SQL
PostgreSQL имеет многочисленные расширения языка SQL 92. К ним относятся:
- Хранимые процедуры
- Триггеры
- Правила (rules)
- Аггрегатные функции, задаваемые пользователем
- Встроенные языки программирования
- Операторы, создаваемые пользователем
- Генераторы числовых последовательностей, задаваемые пользоватем
- Новый типы данных, задаваемые пользователем
Неслабый списочек, как вы думаете? Некоторым коммерческим SQL-серверам есть
чему поучиться.
Встроенные языки
Собрав PostgreSQL соответствующим образом, вы можете практически
сразу использовать следующие встроенные языки:
- SQL - родной SQL диалект PostgreSQL
- PL/pgSQL - расширенный SQL диалект
- PL/Tcl - команды языка Tcl
- PL/Perl - команды языка Perl
- Embedded SQL в С - команды SQL в языке C
Все эти языки могут быть использованы для написания хранимых процедур и
функций в PostgreSQL.
Это только самый общий список возможностей. Со временем я буду его дополнять,
когда разберусь, что к чему.
Copyright(C).
Виктор Вислобоков