Какой язык вы используете для PostgreSQL триггеры и хранимые процедуры?

голоса
17

PostgreSQL интересен тем, что он поддерживает несколько языков для написания хранимых процедур. Какой из них вы используете, и почему?

Задан 05/08/2008 в 07:39
источник пользователем
На других языках...                            


9 ответов

голоса
6

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

В долгосрочной перспективе, я бы, вероятно, использовать PL / Perl или PL / Python, как я использую Perl для быстрого написания сценариев и смотрел на питона на некоторое время теперь.

Одна вещь, которую я нашел, что есть отсутствие хорошей документации, что на сайте PostgreSQL. Руководства были кап в качестве ссылки, но не работает хорошо, как учебник, чтобы помочь показать людям, как это должно быть сделано.

Это, в сочетании с очень хорошей средой отладки, имел в виду, что мой первый опыт написания процедур, связанных, глядя на странные ошибки синтаксиса в течение длительного времени.

Если кто-то знает хороший сайт с обучающими и т.д. для программирования PostgreSQL, я хотел бы получить ссылку на него.

Ответил 06/08/2008 в 15:26
источник пользователем

голоса
5

Я пишу довольно много всего в plpgsql, но я также парень базы данных в первую очередь, так что в целом мне подходит лучше, чем любой другой язык. Но есть много вещей, которые он не делает очень хорошо, и в этом случае на другом языке, такие как plperl или plpython является хорошим выбором. Конечно, если скорость является серьезной проблемой, C является путь.

Ответил 16/09/2008 в 06:43
источник пользователем

голоса
4

Skype использует PostgreSQL вместе с питоном, и они улучшили PL / Python в его нынешнем состоянии , так что я бы сомневался , что поддержка питона далеко позади Perl. Они написали системы массового обслуживания / репликации поверх этих привязок, в конце концов :-)

Посмотрите: Вики Skytools

Из беглого взгляда в документации, питон, кажется, меньше документации, чем PERL привязок, но я хотел бы предложить, чтобы просто придерживаться языка вы наиболее комфортно.

Ответил 12/09/2008 в 16:39
источник пользователем

голоса
4

Когда я писал свой первый триггер это было в Perl, потому что был языком, используемым в примере, который я нашел, но последние спусковой я написал, где в Python, потому что я более комфортно с этим.

Я думаю, что комфорт программиста моя главная причина выбрать питон, но я думаю, Perl еще лучше поддерживается.

Ответил 05/08/2008 в 07:43
источник пользователем

голоса
3

Я использую PL / Perl, потому что:

  • Мне нравится Perl
  • Это динамический язык, это означает, что вы можете сделать некоторые полезные трюки легко, т.е. передавая имя столбца функции запуска и делать какие-либо действия со значением этого столбца в спусковом кортеже.
  • Она имеет очень хорошую документацию
Ответил 05/09/2009 в 05:01
источник пользователем

голоса
3

Я использую PL / PgSQL для большинства все, и если есть что-то он не может делать я пишу функции в PL / Python (который качается). Вы также можете использовать PL / Java, PL / Perl, PL / PHP.

Я бы сказал, Python, вероятно, лучше всего вокруг одного, потому что Python на почти каждой системе Linux. Perl будет второй с Python избивая его из-за более простой синтаксис для чтения.

Ответил 22/09/2008 в 06:51
источник пользователем

голоса
3

PL / рубин, потому что я использую Ruby, каждый день в любом случае.

Ответил 18/09/2008 в 15:54
источник пользователем

голоса
3

Для чего-либо на самом деле небольшой / простой или, что не требует много манипуляций со строками или логики, я использую plpgsql, потому что это быстро. Для более сложных вещей, я использую plperl, потому что мне это нравится.

Ответил 16/09/2008 в 23:00
источник пользователем

голоса
0

Я бы сказал, Python, вероятно, лучше всего вокруг одного, потому что Python на почти каждый Linux system.Python избивая его из-за более легкого чтения синтаксиса

Ответил 01/06/2018 в 08:22
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more