PostgreSQL 的有趣之处在于它支持多种语言来编写存储过程。您使用哪一种,为什么?

有帮助吗?

解决方案

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

看一看: 维基天空工具

从文档快速看,Python的文档似乎比Perl Bindings少,但我建议只能坚持使用您最适合的语言。

其他提示

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

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

我发现的一件事是 PostgreSQL 网站上缺乏这方面的良好文档。这些手册作为参考很详尽,但作为教程不能很好地帮助向人们展示应该如何完成。

再加上非常好的调试环境,意味着我第一次编写程序的经历涉及长时间查看奇怪的语法错误。

如果有人知道一个包含 PostgreSQL 编程教程等的好网站,我很乐意获得它的链接。

我几乎用 plpgsql 编写了所有内容,但我首先也是一个数据库专家,所以它通常比任何其他语言更适合我。但有很多事情它做得不太好,在这种情况下,另一种语言(例如 plperl 或 plpython)是一个不错的选择。当然,如果速度是一个严重问题,C 是最佳选择。

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

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

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

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

我几乎所有事情都使用 PL/pgSQL,如果有什么它做不到的事情,我会用 PL/Python 编写函数(这很棒)。您还可以使用 PL/Java、PL/Perl、PL/PHP。

我想说 Python 可能是最好的,因为 Python 几乎适用于每个 Linux 系统。Perl 排名第二,Python 击败它,因为它的语法更容易阅读。

我使用 PL/Perl 是因为:

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

我想说 Python 可能是最好的,因为 Python 几乎在每个 Linux 系统上都有。Python 击败它是因为它的语法更容易阅读

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top