2011年7月30日これの続きです。一つ分かったことは、かなりの獣道を歩いているってことかと。3回も書いているのにまだ準備です。注意:この作業を行うにあたって、心構えとしては・運用中のzabbixが不安定になる覚悟をする。・バックアップを取ったデータベースがなければ、過去データはすべて破棄する覚悟。・作業を行った直後は問題がなかったとしても、特殊なデータや状況が発生した時に、データ破損してしまうことを受け入れる覚悟。これらのことが許容できる環境の持ち主か、どうにもせっぱつまっていて、上記のリスクに比べたら相当に致命的な状況まで追い込まれている人じゃない限り、やらないほうが良い作業だと思っています。※技術力向上のためにやれるなら幸せかもですが。いい加減、この注意喚起文も見飽きたような気がします。PL/pgSQLで関数を作るのは初めてなので、簡単なものから作ってはテストし、実現に向けて作りこんでいきたいななんて考えで下記のfunctionを作りました。この形になるまでかなりエラーを出しながらつくったのですが、とりあえず、動く状態で。これで調査したzabbix本体の関数をPL/pgSQLにて実現しようというのが本懐です。plpgsql;■呼び出し方(テキスト型は特殊だっていうことを知りました。row)とりあえず、現在のデータと合致する入力があったら制御するという事ができるようになったのでひとまずテストは成功。この後、合致するデータからmax,min,avgを作ったりできるようになって、INSERTやUPDATEを発行(テンポラリーテーブルに)できるようになったら、xx_tempにINSERTを発行していたシェルスクリプトを書き換えて終了です。先が長いな!■上の状態に到達するまでのエラーメッセージいろいろ。https://www.sraoss.co.jp/technology/postgresql/8.3/上記を見ると、::textを付けないとだめみたい。参考にした本が8.1時代だったから...という言い訳。casts.sqlの変数をコメントアウトしてたのでEXECUTEの時に何も実行するものがないというもの。||こんな風に分離して対応。プラグインその2Mantisのプラグインを作ってみる。テキストエリアへのクリック挿入Mantisのプラグインを作ってみる。CSS読み込みMantisのプラグインを作ってみる。