重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

こんにちは

Postgresqlを使ってデータベースを構築しています。そのデータベースに更新などの変更が加えられたかを外部のプログラムでリアルタイムに監視をしたいのですが、どうのようにすれば良いか教えてください。プログラムはC言語で書こうと考えています。

今は、Postgresqlの"pg_log"にあるログファイルを見て変更があったかを調べようと考えています。
よろしくお願いします。

A 回答 (2件)

PostgreSQLのトリガ機能を使って実装するのはダメなのですか?外部で監視するよりはDBの機能を使った方が確実だと思いますが…

    • good
    • 0
この回答へのお礼

回答ありがとうございます。

データベースを監視したい理由は、データベースに変更が生じた場合に、ネットワークで繋がっている他のパソコンへ変更されたことを伝えたいためです。
回答いただいた方法では上記のようなことはできない気がします。
説明不足ですみませんでした。また、何か良い方法があれば、教えてください。

お礼日時:2006/12/09 00:11

No.1です。



>説明不足ですみませんでした
いえ、やりたいことが何となくわかったからこそトリガの利用を勧めたのですが…

>回答いただいた方法では上記のようなことはできない気がします
なぜトリガではできないと判断したのかを書かれるともっと良い回答が得られると思いますよ(まさか「できない気がした」だけではないですよね?)。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

>なぜトリガではできないと判断したのか
勉強不足で、トリガ機能はINSERTなどSQLにある構文しか実行できないと思っていたからです。

トリガ機能を使う場合、パスが通っているディレクトリにC言語で他のパソコンへメッセージを送る関数を定義して、INSERTなどの処理があった場合に、定義した関数を呼び出すようにすればいいのでしょうか?

お礼日時:2006/12/09 13:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!