[pgsql-jp: 37391] Re: 不必要なプロセスについて

Kiyoshi Mizuno kiyoshi_mizuno @ mail.toyota.co.jp
2006年 8月 3日 (木) 07:46:52 JST


水野です。


> -----Original Message-----
> 「たくさん」といいますのは、あるタイミングで(Linuxのpsコマンドを実行して)
> みたときは、約30〜40プロセス程度だったような気がします。
> それと、「接続プールに確保する最大数」というのはどういう手法で確認する
> ことができますでしょうか。


最大コネクション数はpostgres.confの「MAX_CONNECTION」
(でよかったかな? まあいかにもな名前なので見ればすぐ分かると思います)
で定義されているので、postmasterは最大でこの数まで増加します。

なお、idle in transactionの定義は7.3.4ではマニュアル

Chapter 10. データベース活動状況の監視
10.1. 標準的な Unix ツール

に
「idle in transaction (BEGIN ブロックの内側でのクライアントの待ち状態)」
と書かれています。

この状態は文字通りクライアントアプリがトランザクションを開始して、psコマンドを
実行した時がたまたま一連のSQLを発行している”隙間”であったケースと、
トランザクションの作り方が悪くてデッドロックが発生し、クライアント同士が
身動き取れなくなっている状態が考えられます。

デッドロックが発生しているかどうかは 10.3. ロックの表示 を見て調べてください。




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