Возможности PostgreSQL
01.01.2007
Поддерживаемые типы данных
| 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.
Это только самый общий список возможностей.

