Написание скриптов на pgScript. Мануалы, примеры....

Здравствуйте.

Недавно заинтересовался написанием скриптов на pgScript.

Все что удалось найти из мануалов - вот это http://www.pgadmin.org/docs/dev/pgscript.html#function2

Мануал доступный, но, как мне кажется, тонковат. Надо бы больше информации с примерами. А где ее взять?
Порыл в сети, ничего толкового не нашел. Тем более на русском языке. В связи с этим начал сам экспериментировать и потихоньку писать некое подобие мануала (pgScript. Написание простых скриптов. Первый опыт. ). Это только начало. Хочу написать еще глубже и подробнее. Может кто-нить может указать место, или скинуть если есть инфу по pgScript. Чем больше тем лучше.
Заранее спасибо.  :)

С Уважением, drmiller.

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Про pgScript не скажу, но

Про pgScript не скажу, но есть встречный вопрос - в чём удобство? Мельком глянул по ссылке - очень напоминает PL/pgSQL, а в чём разница и в чём преимущество?

Удобство в том что на pgplsql

Удобство в том что на pgplsql невозможно написать полноценный скрипт, а
pgScript позволяет писать и выполнять целые алгоритмы с использованием операторов ветвления, циклов, SQL-операторов не создавая при этом в базе никаких объектов типа хранимых процедур и т.д.
Ну зачем нам, скажем, писать хранимку чтобы, например, протестировать действие другой хранимки, или ряда хранимок если они являются звеньями одной логической цепочки?
Например есть у Вас некая хранимка, или ряд хранимок которые взаимодействуют между собой. на pgScript можно их протестить создавая генераторы данных различных типов. + если у вас есть скрипты создания таблиц, вьюх, и прочих структурных едениц БД - можно наваять шаблон скрипта который будет проверять наличие объекта в бд, и если его нет - выполнять скрипт создания. Такой механизм можно автоматизировать. И далее боту просто указывать папку с *.sql файлами из которых он соберет единый pgScript и выполнит его. (такие проги облегчают жизнь в разы. личный опыт).

Вобщем полезная штука, как любой скриптовый язык. Вот только инфы по нему мало :)

А разница в том что это

А разница в том что это совсем разные вещи. По синтаксису, по назначению, по способам применения. :)

да и... я еще до этого не

да и... я еще до этого не добрался, но при беглом просмотре возможностей могу сказать что pgScript умеет работать с файлами - это круто. ИМХО.

pgperl. pgtcl тоже умеют

pgperl. pgtcl тоже умеют работать с файлами. В общем чую без подробностей прелестей этого дела не понять. В общем будет желание/возможности, можете сюда кинуть какую-либо обзорную статейку, чтобы мы "прониклись" :)

Помниться в начале постановка

Помниться в начале постановка вопроса была акцентирована на сравнение с plpgsql. Если инициировать сравнение со всем иструментарием постгреса, который служит для наращивания функционала, то можно начать сразу с функций на си... который с лихвой покроет все возможности pgScript, кроме одной... Чтобы решить задачу, используя pgScript, нет необходимости как-либо изменять структуру БД и что либо создавать . Достаточно лишь написать скрипт и выполнить его.
Да, можно аналогично в sql-editor-e написать ряд sql-команд, разделяя их ";" и выполнить их, но дальше SQL-команд мы не уйдем, т.к. его возможности в написании скриптов малы (прощайте ветвления, циклы, передача значений через переменные и прочие прелести :))

Как я понял, мануалами мне тут не помогут?

> Как я понял, мануалами мне

> Как я понял, мануалами мне тут не помогут?
Вряд ли, потому что вы похоже единственный, кто имеет компетенцию в pgScripts среди нашей аудитории. Впору вам нам помогать :)

> а, можно аналогично в sql-editor-e написать ряд sql-команд, разделяя их ";" и выполнить их, но дальше SQL-команд мы не уйдем, т.к. его возможности в написании скриптов малы (прощайте ветвления, циклы, передача значений через переменные и прочие прелести :))
В PL/pgSQL есть и ветвления и циклы и передача значений через переменные. Вот работа с внешними вещами отсуствтует - да. Зато PL/pgSQL поставляется в стандартной поставке, а pgScript надо ставить в дополнение. Нет, я нисколько не против pgScript, просто смотря для каких задач. Во многих случаях можно обойтись PL/pgSQL

Ок, как только наберу

Ок, как только наберу сколько-нибудь достаточно описание - скину ссылки. :)

> В PL/pgSQL есть и ветвления и циклы и передача значений через переменные.
Несомненно есть, но только внутри контекста ХП (речь идет не о case, а о if, for, while и пр.). или вне ХП тоже есть возможность? Если есть то хотелось бы простенький примерчик для расширения кругозора так сказать :).
а pgScript - это просто скриптовый язык со своими плюсами и минусами. :) В общем буду собирать инфу.

> Несомненно есть, но только

> Несомненно есть, но только внутри контекста ХП
Ну разумеется, это же ПРОЦЕДУРНЫЙ язык :) Поэтому его основное предназначение - это написание хранимых процедур.

> pgScript - это просто скриптовый язык со своими плюсами и минусами. :)
Тогда нечно похожее на него пожалуй будет pgTcl. Тоже скриптовый язык - фактически это просто Tcl, который расширен клиентскими делами PostgreSQL. Проекту уже много лет.

> Ок, как только наберу сколько-нибудь достаточно описание - скину ссылки. :)
Будем ждать! А вам успехов в освоении.

Наваял новую

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023