[pgsql-jp: 34481] Re: PostgreSQL/Oracle/MySQL の機能比較

pgsql pgsql @ komaes.net
2004年 12月 13日 (月) 11:36:53 JST


大木です。

おせわになります。

監査の話がでましたので、お聞きしたい事があります。

トリガーは更新系に対する動作ですが、
selectの際にトリガーを起動するような仕組みは
ありますでしょうか。

教えてください。お願いします。

On Sat, 11 Dec 2004 19:44:25 +0900
Jun Kitamura <kitamura @ zoozee.jp> wrote:

> 北村です。
> 
> > > 海老原さんの例ならば、SELECT トリガで NOTIFY を発行すれば 
> > > LISTEN しているアプリケーションが通知を受け取れます。(VIEW 
> > > 経由での SELECT はやったことないですが、たぶん大丈夫かと)。
> > 
> > SELECTトリガーというのはルールで実装することを言っているのでしょうか?
> > ルールは詳しくありませんが、ビューの問題に関しては確かにそれでうまくいき
> > そうですね!
> 
> だと思ったのですが、[pgsql-jp: 34455] にて谷田さんがおっしゃっ
> ているように
> > (略)問題はnotify自体の信頼性が低いと言うことですが・・・
> ということであれば、あまり期待できないですね。
> 
> 私は、1つのアクション(大事な情報が更新される)といのを NOTIFY 
> と LISTEN デーモン(と呼べるほどのものじゃないですが(笑))を使っ
> て、携帯電話にメールを送って通達させていたので、これで「監査
> (監視)」は可能だと思っていたのです。
> 複数のアクションを監視するとなると、ログのほうが確実かも。
> 
> > 監査ログテーブルを用意しておいて、そこに必要な情報をINSERTしてしまうとか
> > もうまくできますかね?
> 
> ですね。各アクションに対してトリガを使えば、ある程度は目的に
> 即したログをとれると思います。
> PL/pgSQL を使ったトリガならば、 RAISE INFO などを用いて、キー
> ワード付きのログを出力できるので、フィルタも簡単にかけられる
> ようになるかと思います。
> syslog は重いという話なので、エラーを標準出力にリダイレクト
> し、かつ、DJB の daemontools である multilog なんかを使えば、
> まさに「指定のアクションを目的別ログに出力する」事は可能だと
> 思います。他にもログ用のプログラムはあるでしょうから、それで
> も別に構わないです。あくまで例として。
> daemontools
> http://tools.qmail.jp/daemontools/
> 
> いずれにせよ、PostgreSQL 標準ツールで「監査」があるわけじゃ
> ないのですが。
> 

-- 
pgsql <pgsql @ komaes.net>





pgsql-jp メーリングリストの案内