postgreSQLのマニュアルでは、パケットの意味はhereです。関数呼び出しでは、サーバに'F'
という識別子を持つパケットを送信する必要があります。postgreSQL関数呼び出しパケット
だから私は、簡単な関数を定義し、select
文でそれを呼ばれるとwiresharkを使用して、私の接続ポートを監視した後、私は'F'
識別されるパケット、単に複数の単純なクエリパケット('Q'
が識別される)見えません。
ここに何か不足していますか?
postgreSQLのマニュアルでは、パケットの意味はhereです。関数呼び出しでは、サーバに'F'
という識別子を持つパケットを送信する必要があります。postgreSQL関数呼び出しパケット
だから私は、簡単な関数を定義し、select
文でそれを呼ばれるとwiresharkを使用して、私の接続ポートを監視した後、私は'F'
識別されるパケット、単に複数の単純なクエリパケット('Q'
が識別される)見えません。
ここに何か不足していますか?
これは誤解です。 SELECT
文内呼ばれる
機能は、クエリ(識別子Q
)または解析(識別子P
)メッセージ内の文のテキストの一部です。
参照しているドキュメントの一部には、fast-path interfaceのメッセージが記載されています。これは、フロントエンド - バックエンドプロトコルがプリペアドステートメントをサポートする前から残っていて、SQLステートメントの解析にかかるオーバーヘッドなしで簡単な関数呼び出しを実行するために使用されました。それは今ではほとんど廃止されていますが、まだlarge object APIのようないくつかの場所で使用されています。
WiresharkでF
パケットを表示する場合は、Cコードを記述してPQfn
機能を使用する必要があります。
ニース!ありがとうございました!私は明日の朝にあなたの答えに印をつけます。 – Hamed