関数 PostgreSQLのトリガとストアドプロシージャにはどのような言語を使用しますか?




returns trigger postgres (7)

私はPL / Perlを使用しています:

  • 私はPerlが好きです
  • これは動的言語です。つまり、トリガー関数に列名を渡し、トリガータプルでこの列の値を使っていくつかのアクションを実行するなど、便利なトリックを簡単に実行できます。
  • それはかなり良い文書を持っています

PostgreSQLは、ストアドプロシージャを書くためのいくつかの言語をサポートしている点で面白いです。 あなたはどちらを使いますか?なぜですか?


私はplpgsqlにすべてのものを書いていますが、私もデータベースの人ですから、他のどの言語よりもよく似ています。 しかし、それほどうまくやっていないことがたくさんあります。その場合、plperlやplpythonのような別の言語が良い選択です。 もちろん、スピードが重大な問題であれば、Cは道のりです。


SkypeはPostgreSQLをPythonとともに使用していますが 、現在の状態になっているので、Pythonのサポートがperlよりはるかに遅れているのではないでしょうか。 結局のところ、これらのバインディングの上にキューイング/レプリケーションシステムを書きました。

見てみましょう: Wiki Skytools

ドキュメンテーションの簡単な見方から、Pythonはperlバインディングよりも少ないドキュメンテーションを持っているようですが、私はあなたが最も快適な言語に固執することを提案します。


とにかくRubyを毎日使っているのでPL / Rubyです。


最初のトリガーを書いたとき、それはPerlにありました。これは、私が見つけた例で使用された言語だったからですが、Pythonのどこで私が書いた最後のトリガーは、私がより快適だからです。

私はプログラマの快適さが私の主な理由はPythonを選択すると思うが、私はPerlがまだまだサポートされていると思う。


本当に小さい/単純なものや、文字列の操作やロジックを必要としないものは、plpgsqlを使用します。高速です。 より複雑なものについては、私はそれが好きなので、plperlを使用します。


私はPL / pgSQLをほとんどのものに使用しています。何かができない場合は、PL / Python(岩石)で関数を記述します。 PL / Java、PL / Perl、PL / PHPを使用することもできます。

私はPythonがおそらくほぼすべてのLinuxシステム上にあるので、Pythonがおそらく最高のものだと言うでしょう。 Perlは読書の構文が簡単であるため、Pythonがそれを打ち負かすことで2位になります。





triggers