PostgreSQL |
Автор: admin Просмотров: 5037 Комментарии:
Добавлен: 11 апреля 2015
Обновлено: 24.12.2015 - 15:52
Объектно-реляционная система управления базами данных (ОРСУБД). Альтернатива коммерческим (Oracle Database, Microsoft SQL Server, IBM DB2) и свободным СКБД (MySQL, Firebird, SQLite).
По сравнению с другими проектами с открытым кодом, такими как Apache, FreeBSD или MySQL, PostgreSQL не контролируется какой-либо одной компанией, его разработка возможна благодаря сотрудничеству многих людей и компаний, которые хотят использовать эту СУБД и внедрять в нее новейшие достижения. Сервер PostgreSQL написан на языке C . Обычно распространяется в виде набора текстовых файлов исходным кодом . Для инсталляции необходимо откомпилировать файлы на своем компьютере и скопировать в некоторый каталог. Весь процесс подробно описан в документации.
Функции.
Функции позволяют выполнять некоторый код непосредственно сервером базы данных. Эти функции могут быть написаны на SQL, который имеет некоторые примитивные программные операторы, такие как ветвления и циклы. Но гибкой будет функция написана в одной из языков программирования, с которыми PostgreSQL может работать. К таким языкам относятся:
Встроенный язык PL/pgSQL, подобный процедурному языка PL/SQL компании Oracle.
Языки разработки сценариев: PL/Perl, PL/Python, PL/Tcl, PL/Ruby, PL/sh.
Классические языки программирования C, C++, Java (с помощью PL/Java ).
Функции могут быть написаны, а затем выполняться с привилегиями пользователя, который ее вызвал, или с привилегиями пользователя, который ее написал.
Индексы.
PostgreSQL поддерживает индексы следующих типов: B-дерево, хэш, R-дерево, GiST, GIN. При необходимости можно создать новые типы индексов.
Многоверсионность (MVCC)
PostgreSQL поддерживает одновременную модификацию БД несколькими пользователями с помощью механизма Multiversion Concurrency Control (MVCC). Благодаря этому выполняются требования ACID и практически отпадает необходимость в блокировании считывания.
Типы данных PostgreSQL.
PostgreSQL поддерживает большой набор встроенных типов данных:
- Числовые типы.
- Цели с фиксированной и нефиксированной точкой.
- Денежный тип.
- Символьные типы произвольной длины.
- Двоичные типы (включая BLOB).
- Типы «дата/время».
- Логический тип.
- Перечисление.
- Геометрические примитивы.
- Сетевые типы: IP и IPv6-адреса; CIDR-формат; МАС-адрес.
- UUID -идентификатор
- XML -данные.
- JSON -данные.
- Массивы.
- OID-типы.
- Псевдотипы.
Объекты пользователя.
PostgreSQL может быть расширен пользователем для собственных нужд практически в любом аспекте. Есть возможность добавлять собственные:
- Преобразование типов.
- Типы данных.
- Домены (пользовательские типы изначально с наложенными ограничениями).
- Функции (включая агрегатные).
- Индексы.
- Операторы (включая переопределение уже существующих).
- Процедурные языки.
Наследование.
Таблицы могут наследовать характеристики и наборы полей от других таблиц (родительских). При этом данные, которые прилагаются к порожденной таблице, автоматически будут участвовать (если это не указано отдельно) в запросах к родительской таблице. Этот функционал в настоящее время не является полностью завершенным. Однако он достаточен для практического использования.
Триггеры.
Триггеры определяются как функции, инициируемые DML-операциями. Например, операция INSERT может запускать триггер, проверяющий добавленную запись на соответствия определенным условиям. При написании функций для триггеров, можно использовать различные языки программирования. Триггеры ассоциируются с таблицами. Множественные триггеры выполняются в алфавитном порядке.
Другие возможности.
- Соблюдение принципов ACID.
- Соответствие стандартам ANSI SQL-92 и SQL-99.
- Поддержка запросов с OUTER JOIN, UNION, UNION ALL, EXCEPT и подзапросов.
- Последовательности.
- Контроль целостности.
- Репликация.
- Общие табличные выражения и рекурсивные запросы.
- Аналитические функции.
- Поддержка Unicode (UTF-8).
- Поддержка регулярных выражений в стиле Perl.
- Встроенная поддержка SSL и Kerberos.
- Протокол разделяемых блокировок.
- Загружаемые расширения поддерживают SHA1, MD5, XML и другую функциональность (API открыт).
- Средства для генерации совместимого с другими системами SQL-кода и импорта из других систем.
Надежность. Согласно результатам автоматизированного исследования различного ПО на предмет ошибок, в исходном коде PostgreSQL было найдено 20 проблемных мест на 775 000 строк исходного кода (в среднем одна ошибка на 39 000 строк кода). Для сравнения:
- MySQL - 97 проблем, одна ошибка на 4000 строк кода;
- FreeBSD (целиком) - 306 проблем, одна ошибка на 4000 строк кода;
- Linux (только ядро) - 950 проблем, одна ошибка на 10 000 строк кода.
Оригинал статьи: https://uk.wikipedia.org/wiki/PostgreSQL
------------------------
ТРИО теплый пол отзыв
Заработок на сокращении ссылок
Earnings on reducing links
Код PHP на HTML сайты
Категория: Базы данных, Сервера баз данных
Интерфейс консольный
Интерфейс фоновый(daemon)
Язык программирования:
Си и SQL
Сайт проекта
Скачать PostgreSQL
Комментарии |