sql -PostgreSQL触发器和存储过程使用什么语言?

Translate

PostgreSQL很有趣,因为它支持几种用于编写存储过程的语言。您使用哪一个,为什么?

This question and all comments follow the "Attribution Required."

所有的回答

Translate

Skype的用途PostgreSQL的和python一起使用,他们将PL / Python改进到了当前状态,因此我怀疑python支持是否远远落后于perl。毕竟,他们已经在这些绑定之上编写了排队/复制系统:-)

看一看:Wiki Skytools

从文档的快速浏览来看,python的文档似乎少于perl绑定,但是我建议您坚持使用最熟悉的语言。

来源
Translate

我只真正使用过PL / pgSQL,但这是因为我需要相对较快的一些存储过程,并且不想向服务器添加额外的模块。

从长远来看,我可能会使用PL / Perl或PL / Python,因为我使用perl进行快速脚本编写并且已经使用python了一段时间。

我发现的一件事是,PostgreSQL站点上缺少关于该文档的良好文档。这些手册作为参考是详尽的,但不能很好地作为指南来帮助人们了解应该如何做。

这与非常好的调试环境相结合,意味着我第一次编写过程的经验涉及很长时间查看奇怪的语法错误。

如果有人知道一个不错的站点,上面有关于PostgreSQL编程的教程等,那么我很想获得一个链接。

来源
Translate

我几乎用plpgsql编写了所有内容,但首先也是最重要的还是数据库方面的知识,因此它通常比其他任何一种语言都适合我。但是有很多事情并不能很好地解决,在这种情况下,诸如plperl或plpython之类的另一种语言是不错的选择。当然,如果速度是一个很重要的问题,那么使用C是可行的方法。

来源
Translate

当我编写第一个触发器时,它是在Perl中编写的,因为那是我在示例中使用的语言,但是最后一个触发器是在Python中写的,因为我对此比较满意。

我认为程序员的舒适度是我选择python的主要原因,但是我认为Perl仍然受到更好的支持。

来源
Translate

对于任何非常小的/简单的或不需要大量字符串操作或逻辑的事情,我都使用plpgsql,因为它速度很快。对于更复杂的事情,我使用plperl,因为我喜欢它。

来源
Translate

PL / Ruby,因为无论如何我每天都使用Ruby。

来源
Translate

我使用PL / pgSQL进行大多数操作,并且如果不能执行某些操作,则可以使用PL / Python(非常麻烦)编写函数。您也可以使用PL / Java,PL / Perl,PL / PHP。

我想说Python可能是最好的,因为Python几乎在每个linux系统上都存在。由于语法易于阅读,因此Perl在Python击败它之后将排在第二位。

来源
Translate

我使用PL / Perl是因为:

  • 我喜欢Perl
  • 这是一种动态语言,这意味着您可以轻松地完成一些有用的技巧,例如,将列名传递给触发器函数,并在触发器元组中使用此列的值进行某些操作。
  • 它有一个相当好的文档
来源