PL / pgSQL - PL/pgSQL

PL / pgSQL
Postgresql elephant.svg
Разработано Ян Вик
Разработчик Группа глобального развития PostgreSQL
Впервые появился 30 октября 1998 г . ; 22 года назад ( 1998-10-30 )
Интернет сайт www .postgresql .org / docs / current / static / plpgsql .html
Под влиянием
PL / SQL , Ада

PL / pgSQL ( Procedural Language / PostgreSQL ) - это процедурный язык программирования, поддерживаемый ORDBMS PostgreSQL . Он очень похож на язык PL / SQL Oracle . Реализованный Яном Виком, PL / pgSQL впервые появился в PostgreSQL 6.4, выпущенном 30 октября 1998 года. Версия 9 также реализует некоторые функции ISO SQL / PSM , такие как перегрузка вызываемых SQL функций и процедур.

PL / pgSQL, как полнофункциональный язык программирования, обеспечивает гораздо больший процедурный контроль, чем SQL , включая возможность использования циклов и других структур управления. Операторы и триггеры SQL могут вызывать функции, созданные на языке PL / pgSQL.

Дизайн PL / pgSQL был направлен на то, чтобы позволить пользователям PostgreSQL выполнять более сложные операции и вычисления, чем SQL, при этом обеспечивая простоту использования. Язык может быть определен сервером как доверенный.

PL / pgSQL - один из языков программирования, включенных в стандартный дистрибутив PostgreSQL, другие - это PL / Tcl , PL / Perl и PL / Python. Кроме того, многие другие доступны от третьих лиц, включая PL / Java, PL / pgPSM, PL / php, PL / R, PL / Ruby, PL / sh , PL / Lua и PL / v8 . PostgreSQL использует Bison в качестве парсера, что упрощает перенос многих языков с открытым исходным кодом , а также повторное использование кода .

Сравнение с PSM

Язык SQL / PSM определен стандартом ISO, но также основан на Oracle PL / SQL и PL / pgPL / SQL, поэтому между ними мало различий. Дополнительный модуль PL / pgPSM реализует стандарт. Основные особенности PSM, которые отличаются от PL / pgSQL:

  • Обработчики исключений - это подпрограммы (обработчики продолжения);
  • Предупреждения можно обрабатывать как исключение;
  • Объявление переменных должно основываться на результате SQL-запроса.

Все три языка (Oracle PL / SQL, PostgreSQL PL / pgSQL и ISO SQL / PSM) изначально произошли от языка программирования Ada .

Встроенная документация внешняя поддержка

Формальный псевдоязык для документации может быть встроен в сценарии SQL и PL / pgSQL. Затем эта документация обрабатывается генератором документации - внешним инструментом, который извлекает данные и генерирует гипертекст. Поскольку PL / SQ: поддерживает некоторые из этих инструментов, ожидается, что PL / pgSQL также обеспечит полную или частичную поддержку.

Орудие труда Полный PL / pgSQL Стиль Javadoc Другой стиль Проекты PL / pgSQL, использующие его
Документ! Икс ? да да ?
Естественные документы ? Нет да ?
ROBODoc ? да Нет ?

Другие инструменты документации: Doxygen , DBScribe, HyperSQL, Universal Report.

использованная литература

внешние ссылки