История изменений
Исправление MichIs, (текущая версия) :
В январе этого года компания уже представила поддержку пакетов (наборов функций и процедур) «в стиле Oracle» в СУБД Postgres Pro Enterprise.
Пакеты сами по себе — достаточно «вкусная» возможность, и с ними логика уровня сервера выглядит намного опрятнее, чем на хранимых процедурах россыпью.
По сравнению с настоящими PL/SQL пакетами Oracle DB, «пакеты» от это PostgresPro - простенькое подельице. Смотри статью на Habr
Пакетом считается схема, содержащая функцию инициализации и не содержащая ничего, кроме функций, процедур и композитных типов.
Функцией инициализации пакета (init-функцией) называется содержащаяся в соответствующей схеме функция на языке PL/pgSQL с именем init, не имеющая параметров и возвращающая тип void.
Глобальными переменными пакета являются переменные, объявленные в функции инициализации.
У EnterpriseDB, мировом ведущем производителе и контрибьюторе PostgreSQL, в его продукте «EDB Postgres Advanced Aerver» с реализацией пакетов подобных пакетам Oracle PL/SQL все намного лучше - документация (через VPN)
С миграцией функционала из Oracle, кстати тоже - есть и методики и давно зарекомендовавшие себя продукты.
PostgrePro идет по их стопам. Но пока не сильно широка. Но на безрыбье и рак - рыба. Пожелаем им успехов. Хотя в последнее время складывается впечатление, что отцы-основатели PostgreSQL больше думают про бабло, чем функционал, имхо. Без бабок нет развития - здесь нет базара, но когда бабки становятся самоцелью - дело швах.
ПС. А я бы был совсем не против, чтобы в каждой реляционной (и не только) базе данных в качестве встроенного и «близкого к данным» языка, был язык - ADA (прообраз для PL/SQL). Нравится мне он своей строгостью.
Исходная версия MichIs, :
В январе этого года компания уже представила поддержку пакетов (наборов функций и процедур) «в стиле Oracle» в СУБД Postgres Pro Enterprise.
Пакеты сами по себе — достаточно «вкусная» возможность, и с ними логика уровня сервера выглядит намного опрятнее, чем на хранимых процедурах россыпью.
По сравнению с настоящими PL/SQL пакетами Oracle DB, «пакеты» от это PostgresPro - простенькое подельице. Смотри статью на Habr
Пакетом считается схема, содержащая функцию инициализации и не содержащая ничего, кроме функций, процедур и композитных типов.
Функцией инициализации пакета (init-функцией) называется содержащаяся в соответствующей схеме функция на языке PL/pgSQL с именем init, не имеющая параметров и возвращающая тип void.
Глобальными переменными пакета являются переменные, объявленные в функции инициализации.
У EnterpriseDB, мировом ведущем производителе и контрибьюторе PostgreSQL, в его продукте «EDB Postgres Advanced Aerver» с реализацией пакетов подобных пакетам Oracle PL/SQL все намного лучше - документация (через VPN)
С миграцией функционала из Oracle, кстати тоже - есть и методики и давно зарекомендовавшие себя продукты.
PostgrePro идет по их стопам. Но пока не сильно широка. Но на безрыбье и рак - рыба. Пожелаем им успехов (хотя в последнее время складывется впечатление, что отцы-основатели PostgreSQL больше думают про бабло, чем функционал, имхо. Без бабок нет развития - хдесь нет базара, но когда бабки становятся самоцелью - дело швах).
ПС. А я бы был совсем не против, чтобы в каждой реляционной (и не только) базе данных в качестве встроенного и «близкого к данным» языка, был язык - ADA (прообраз для PL/SQL).