2016-09-13 5 views
1

postgreSQLのマニュアルでは、パケットの意味はhereです。関数呼び出しでは、サーバに'F'という識別子を持つパケットを送信する必要があります。postgreSQL関数呼び出しパケット

だから私は、簡単な関数を定義し、select文でそれを呼ばれるとwiresharkを使用して、私の接続ポートを監視した後、私は'F'識別されるパケット、単に複数の単純なクエリパケット('Q'が識別される)見えません。

ここに何か不足していますか?

答えて

3

これは誤解です。 SELECT文内呼ばれる

機能は、クエリ(識別子Q)または解析(識別子P)メッセージ内の文のテキストの一部です。

参照しているドキュメントの一部には、fast-path interfaceのメッセージが記載されています。これは、フロントエンド - バックエンドプロトコルがプリペアドステートメントをサポートする前から残っていて、SQLステートメントの解析にかかるオーバーヘッドなしで簡単な関数呼び出しを実行するために使用されました。それは今ではほとんど廃止されていますが、まだlarge object APIのようないくつかの場所で使用されています。

WiresharkでFパケットを表示する場合は、Cコードを記述してPQfn機能を使用する必要があります。

+0

ニース!ありがとうございました!私は明日の朝にあなたの答えに印をつけます。 – Hamed