- - PR -
PostgreSQLでのSQLトレース取得方法について
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2006-06-07 19:36
PostgreSQLでSQLトレースを取得したいのですが、色々探したものの、なかなか
見つかりません。ググったところ、参照URLの記事は見つけたのですが、うまくいかず… 何かいい方法がありましたら、ご教授いただきたいと思います。 環境は OS:Linux DB:PostgreSQL 7.4.12 です。よろしくお願いいたします。 | ||||
|
投稿日時: 2006-06-07 21:29
私は使ったことがありませんが、Postgresqlの説明文章に使えそうなオプションが記載されています。
http://www.postgresql.jp/document/pg746doc/html/runtime-config.html#RUNTIME-CONFIG-LOGGING log_min_duration_statement log_statement -- よく見たら、参考URLでも同じオプションを紹介していたのですね。 これが使えないなら分かりません。 -- 手元のPostgreSQL 8.0.6で log_min_duration_statement = 0 の設定で試したところ 下記の形でログファイルに出力されていました。 他にもツールやACCESSの管理用問い合わせが大量に出力されていて見づらいですが。 (PgAdminVのクエリツールでの問い合わせ) 2006-06-07 21:36:14 LOG: duration: 0.000 ms statement: SELECT * FROM t_mmenu; (ODBC経由のACCESSからの問い合わせ) 2006-06-07 21:40:22 LOG: duration: 0.000 ms statement: SELECT "public"."t_mmenu"."menuid" FROM "public"."t_mmenu" [ メッセージ編集済み 編集者: 鎌田 編集日時 2006-06-07 21:32 ] [ メッセージ編集済み 編集者: 鎌田 編集日時 2006-06-07 21:44 ] | ||||
|
投稿日時: 2006-06-07 21:45
うまくいかず、の理由が「自分の想定した通りの出力が得られない」のか「そもそも出力されない」のか さっぱりわからないので何とも。 うまくいかない原因の解消を考えた方がよろしいのではないですかね。 | ||||
|
投稿日時: 2006-06-08 09:06
鎌田さん、せんさん、ご返信ありがとうございます。
おっしゃること、ごもっともです。。。 「そもそも出力されない」というところです。参照元のURLやっても出力されません。 よくよく見てみると、これはpgbenchで発行しているSQLが出力されているようで。。。 アプリ側がログ出力するのではなく、DBMSとして発行されてきているSQLをログに出したいというのがやりたいことなのですが。。。 鎌田さんの方法を手本に行なってみたいと思います。 もし他にいい案などありましたら、よろしくお願いいたします。 | ||||
1
