Возможности 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. К ним относятся:
1. Хранимые процедуры
2. Триггеры
3. Правила (rules)
4. Аггрегатные функции, задаваемые пользователем
5. Встроенные языки программирования
6. Операторы, создаваемые пользователем
7. Генераторы числовых последовательностей, заваемые пользоватем
8. Новый типы данных, задаваемые пользователем
Неслабый списочек, как вы думаете? Некоторым коммерческим SQL-серверам есть чему поучиться.
Встроенные языки
Собрав PostgreSQL соответствующим образом, вы можете практически сразу использовать следующие встроенные языки:
1. SQL - родной SQL диалект PostgreSQL
2. PL/pgSQL - расширенный SQL диалект
3. PL/Tcl - команды языка Tcl
4. PL/Perl - команды языка Perl
5. Embedded SQL в С - команды SQL в языке C
Все эти языки могут быть использованы для написания хранимых процедур и функций в PostgreSQL.
Это только самый общий список возможностей.