[pgpool-general-jp: 1138] Re: コネクションキャッシュ機能が有効にならない DB 名について
Tatsuo Ishii
ishii @ sraoss.co.jp
2013年 3月 1日 (金) 10:31:17 JST
石井です。
> 齋藤です。お世話になっております。
>
> pgpool-II 3.2 において、接続先の DB 名によってコネクション
> キャッシュ機能が有効にならものがありました。
> ソースコード ("child.c") を確認したところ、DB 名が "template0"、
> "template1"、"postgres"、"regression" については、コネクション
> キャッシュ機能が有効にならないように読めました。
はい、その通りです。
> このことについて、マニュアルを参照してみましたが、記載は見当たり
> ませんでした。コネクションキャッシュ機能が有効にならない DB 名に
> ついて、マニュアルにも記載があった方が良いのではないでしょうか。
はい、ご指摘の通りですね。マニュアルに追加します。
> また、"regression" という DB 名についてはユーザが作成できるものであり、
> コネクションキャッシュ機能が有効になっても良いのではないでしょうか。
難しいところですね。regressionデータベースでコネクションキャッシュが無
効になっているのは、regression testをpgpool経由で確認できるようにするた
めです(詳細は覚えていないのですが、regressionを実行する上で不都合があっ
てそうしました)。
# regressionデータベースがコネクションキャッシュの対象にならないのは、
# pgpoolができた時からそうなっています。
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp
> [補足] 確認したソースコード箇所
> child.c:
>
> /*
> * do not cache connection if:
> * pool_config->connection_cahe == 0 or
> * database name is template0, template1, postgres or regression
> */
> if (pool_config->connection_cache == 0 ||
> !strcmp(sp->database, "template0") ||
> !strcmp(sp->database, "template1") ||
> !strcmp(sp->database, "postgres") ||
> !strcmp(sp->database, "regression"))
> }
> else
> {
> POOL_STATUS status1;
>
> /* send reset request to backend */
> status1 = pool_process_query(frontend, backend, 1);
> pool_close(frontend);
>
> /* if we detect errors on resetting connection, we need to discard
> * this connection since it might be in unknown status
> */
> if (status1 != POOL_CONTINUE)
> {
> pool_debug("error in resetting connections. discarding connection pools...");
> pool_send_frontend_exits(backend);
> pool_discard_cp(sp->user, sp->database, sp->major);
> }
> else
> pool_connection_pool_timer(backend);
> }
>
>
> 以上です。よろしくお願い致します。
> _______________________________________________
> pgpool-general-jp mailing list
> pgpool-general-jp @ sraoss.jp
> http://www.sraoss.jp/mailman/listinfo/pgpool-general-jp
pgpool-general-jp メーリングリストの案内