
PostgreSQL — свободная объектно-реляционная система управления базами данных (СУБД).
Существует в реализациях для следующих платформ: Linux, Solaris/OpenSolaris, Win32, Win x86-64, Mac OS X, FreeBSD, QNX 4.25, QNX 6.
Она распространяется по лицензии PostgreSQL, лицензии MIT-стиля, и, таким образом, является свободным и открытым программным обеспечением. Как и многие другие программы с открытым исходным кодом, PostgreSQL не контролируется какой-либо одной компанией - мировое сообщество разработчиков и компаний занимается развитием системы. Это ACID-совместимая, полностью транзакционная (включая все DDL заявления) система, которая реализует большинство SQL. Имеется стандартный набор расширяемых типов данных, операторов и индексов, и есть большое количество расширений, которые были написаны для нее.
Подавляющее большинство дистрибутивов имеют PostgreSQL, доступную в поставляемых пакетах. Mac OS X, начиная с Льва, имеет PostgreSQL-сервер в качестве стандартной базы данных по умолчанию на сервере издания и PostgreSQL клиентские средства в настольной версии.
PostgreSQL может выполнять сохраненные процедуры на более чем десяти языках программирования, включая Java, Perl, Python, Ruby, Tcl, C / C ++ и собственный PL / PgSQL, который похож на Oracle PL / SQL. В стандартную библиотеку включены сотни встроенных функций, которые варьируются от базовых математических и строковых операций до шифрования и Oracle-совместимости. Триггеры и хранимые процедуры могут быть написаны на C и загружены в базу данных в виде библиотеки, что обеспечивает большую гибкость в расширении возможностей системы. Точно так же PostgreSQL включает в себя структуру, которая позволяет разработчикам определять и создавать свои собственные типы данных наряду с функциями и операторами, которые определяют их поведение. В результате был создан целый ряд современных типов данных, начиная от геометрических и пространственных примитивов сетевых адресов, чтобы выравнивать ISBN / ISSN (международный стандартный номер книги / Международный стандартный серийный номер) до типов данных, которые могут быть дополнительно добавлены в систему.