PostgreSQL
Материал из Википедии — свободной энциклопедии
Логотип PostgreSQL
|
|
Тип | Объектно-реляционная СУБД |
Разработчик | сообщество PostgreSQL |
ОС | Кроссплатформенное программное обеспечение |
Текущая версия | 8.1.5 — 16 октября 2006 |
Лицензия | BSD |
Сайт | www.postgresql.org |
PostgreSQL (произносится «Пост-Грес-Кью-Эл» или просто «постгрес») — объектно-реляционная система управления базами данных (СУБД). Является альтернативой как свободным СУБД (таким как MySQL и Firebird), так и коммерческим (Oracle Database, Microsoft SQL Server, IBM DB2, различные СУБД производства Sybase).
[править] Поддержка стандартов, возможности, особенности
PostgreSQL строго соответствует стандартам ANSI SQL-92 и SQL-99.
На данный момент (версия 8.1), в PosgreSQL имеются следующие ограничения:
Максимальный размер базы данных | Нет ограничений |
Максимальный размер таблицы | 32 ТБайт |
Максимальный размер записи | 1,6 ТБайт |
Максимальный размер поля | 1 ГБайт |
Максимум записей в таблице | Нет ограничений |
Максимум полей в таблице | 250—1600, в зависимости от типов полей |
Максимум индексов в таблице | Нет ограничений |
Сильными сторонами PostgreSQL считаются:
- поддержка БД практически неограниченного размера;
- мощные и надёжные механизмы транзакций и репликации;
- расширяемая система встроенных языков программирования: изначально подерживаются SQL, PL/pgSQL, PL/Perl, PL/Python и PL/Tcl, а также имеется поддержка загрузки C-совместимых модулей;
- поддержка со стороны многих языков программирования: C/C++, Java, Perl, Python, Ruby, ECPG, Tcl, PHP и других.
- наследование.
- легко расширяемая сиcтема типов.
PostgreSQL поддерживает много типов полей двумерной оконной графики (точки, прямые, прямоугольники и т. д.). Есть поддержка массивов данных (несколько экземпляров однотипных данных в одном поле одной записи). Также имеется поддержка регулярных выражений в стиле языка Perl.
Главным слабым местом, происходящим из архитектуры самой СУБД, считается масштабируемость: в PostgreSQL имеются общие для всех соединений «узлы».
Прочие возможности:
- Соблюдение принципов ACID.
- Соответствие стандартам ANSI SQL-92 и SQL-99.
- Триггеры, ограничения, правила и хранимые процедуры.
- Поддержка запросов с
OUTER JOIN
,UNION
,UNION ALL
andEXCEPT
и подзапросов. - Последовательности.
- Контроль целостности.
- Репликация.
- Поддержка Юникод.
- Поддержка регулярных выражений в стиле Perl.
- Встроенная поддержка SSL и Kerberos.
- Блокировки точнее, чем на уровне записи.
- Функциональные и частичные индексы.
- Подгружаемые расширения, подерживающие SHA1, MD5, XML и другую функциональность (API открыт).
- Средства для генерации совместимого с другими системами SQL-кода и импорта из других систем.
[править] Надёжность
Согласно результатам автоматизированного исследования различного ПО на предмет ошибок, в исходном коде PostgreSQL было найдено 20 проблемных мест на 775 000 строк исходного кода (в среднем, одна ошибка на 39 000 строк кода). Для сравнения: MySQL — 97 проблем, одна ошибка на 4 000 строк кода; FreeBSD (целиком) — 306 проблем, одна ошибка на 4 000 строк кода; Linux (только ядро) — 950 ошибок, одна ошибка на 10 000 строк кода.
[править] Ссылки
- Домашняя страница PostgreSQL
- Документация PostgreSQL
- Документация PostgreSQL (множество переводов на рус.)
- Форум PostgreSQL
- Статья Олега Бартунова «Что такое PostgreSQL?» (на русском)
Системы управления базами данных (СУБД) |
MySQL | Firebird | InterBase | PostgreSQL | MS SQL Server | SQLite | DB2 | Oracle | Informix | DataFlex | Access | Sybase ASE | Sybase ASA | Sybase IQ | Cachee | Paradox | Pervasive SQL | MSDE | ЛИНТЕР | db4o | PrimeBase | Rdb | Ingres | Berkeley DB |