pgpool2.git / summary / log / commit / refs

commit    14c95ef450c8fb259d14783d5b0444dcaf9b97d8
Author:   Tatsuo Ishii <ishii@postgresql.org>
Date:     Thu Oct 09 05:38:40 2014 +0000

    Prepare 3.4 alpha1.


NEWS | 97 ++++++++++++++++++++++++++++++++++ doc/pgpool-en.html | 3 +- doc/pgpool-ja.html | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 248 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 817ca0f6e..ebb962b8a 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,102 @@ Release Notes +=============================================================================== + + 3.4.0 (tataraboshi) 2014/10/XX + +* Version 3.4.0 + + This is the first version of pgpool-II 3.4 series. + That is, a "major version up" from 3.3 series. + + __________________________________________________________________ + +* Incompatible changes + + - Parallel query mode is obsoleted and is removed from + pgpool.conf. This is due to the very few users using the mode + (and the relatively high cost to maintain it). Actual codes for + the mode are still there and users can use the mode if they + specify necessary parameters in pgpool.conf. Note, however, the + next version of pgpool-II (will be 3.5.0) will actually remove + the code. + + - "print_timestamp" parameter is removed. Instead new + "log_line_prefix" should be used. + + - Recovery script now accepts 4 parameters, rather than 3 (the 4th + parameter is the port number of master PostgreSQL). Existing + 3-parameter-style recovery scripts can be used if you don't care + about information provided by the 4th parameter. + __________________________________________________________________ + +* New features + + - Allow fine control of load balancing by using application name + or database name. For example, if a client has particular + application name, read queries can be redirect to master node, + rather than to one of slave nodes (Tatsuo) + + - Allow to print pgpool-II process names in the log output. New + parameter "log_line_prefix", which is the printf-style string + that is output at the beginning of each log line (Usama) + + - Allow to control log verbosity like PostgreSQL. For this purpose + new parameters "log_error_verbosity", "client_min_messages", + "log_min_messages" are added (Usama) + + - Allow to use SQL comments without disturbing load balancing if + new parameter "allow_sql_comments" is on. If it's off, previous + behavior is kept (Tatsuo) + + - Allow to skip unlogged tables checking by using new parameter + "check_unlogged_table". This reduces the number of pgpool-II's + internal catalog look up queries and enhances performance + (Tatsuo) + + - Prevent listen backlog overflow by using new parameter + "listen_backlog_multiplier" for very busy systems (Tatsuo) + + - Prevent connection timeout to backend by using new parameter + "connect_timeout". This is useful in unstable networks + (Tatsuo) + __________________________________________________________________ + +* Enhancements + + - Builtin SQL parser is now compatible with PostgreSQL 9.4 (Usama) + + - Import PostgreSQL's memory manager and exception manager (Usama) + + - Reorganize source code tree (Usama) + + - The status file "pgpool_status" is now a plain ASCII file. This + allows to register down PostgreSQL nodes before pgpool-II + starts for example (Tatsuo) + + - Allow to use IPv6 address for PostgreSQ (Michael Stapelberg) + + - Allow to use IPv6 bind address for pgpool-II (Michael Stapelberg) + + - Rename all occurrence of "on memory query cache" to "in memory + query cache" because latter is more correct in English (Tatsuo) + + - Add 4th paramter "master node port number" to recovery script + (Tatsuo) + + - Allow to handle more than 3 database nodes in pgpool_setup + (Tatsuo) + __________________________________________________________________ + +* Bug fixes (since 3.3.4) + + - As per the PostgreSQL specification, calling close on non + existing portals is not an error. So on the same footings this + commit ignores all such packets and return the 'close complete' + message to client with out going to backend (Usama) + + - Fix many issues/bugs found by Coverity (Usama, Tatsuo) + =============================================================================== 3.3 Series (2013/07/30 - ) =============================================================================== diff --git a/doc/pgpool-en.html b/doc/pgpool-en.html index 5a2711bb5..7e4524ed8 100644 --- a/doc/pgpool-en.html +++ b/doc/pgpool-en.html @@ -5654,7 +5654,8 @@ fail. Also, the System DB must be PostgreSQL 7.4 or later.</p> <h2 id="caution_query_cache">Query Cache</h2> <p>With <a href="#query_cache">on disk query cache, invalidation must be done manually. -This does not apply to <a href="#memqcache">in memory query cache</a>. Cache invalidation is automatically done with in memory query cache.</p> +This does not apply to <a href="#memqcache">in memory query cache</a>. +Cache invalidation is automatically done with on memory query cache.</p> <p class="top_link"><a href="#Top">back to top</a></p> diff --git a/doc/pgpool-ja.html b/doc/pgpool-ja.html index e854c814b..1627b1937 100644 --- a/doc/pgpool-ja.html +++ b/doc/pgpool-ja.html @@ -695,7 +695,7 @@ net.core.somaxconn = 256 </p> </dd> -<dt><a name="LISTEN_BACKLOG_MULTIPLIERE"></a>listen_backlog_multiplier <span class="version">V3.4 -</span></dt> +<dt><a name="LISTEN_BACKLOG_MULTIPLIER"></a>listen_backlog_multiplier <span class="version">V3.4 -</span></dt> <dd> <p> フロントエンドからpgpool-IIへの接続待ち行列の長さを制御します。デフォルト値は2です。接続待ち行列(listenシステムコールのbacklogパラメータ)の長さは、listen_backlog_multiplier * num_init_children で決まります。もし待ち行列の長さが不足する場合にはこのパラメータを増やしてください。その際、OSの設定値によっては待ち行列を長く出来ないことがあります。詳細は<a href="#NUM_INIT_CHILDREN">num_init_children</a>の項を参照してください。 @@ -826,6 +826,42 @@ local0.* /var/log/pgpool.log このパラメータを変更した時には pgpool-II を再起動してください。 </p> </dd> + + + <dt><a name="LOG_LINE_PREFIX"></a>log_line_prefix</dt> + <dd> + <p> + ログの先頭に付加する文字列をprintfのようなスタイルで指定します。 + 「%」はエスケープ文字で、この後の文字は以下のように置換えをされて出力されます。認識できないエスケープ指定は無視されます。それ以外の文字はそのままログに出力されます。 + log_line_prefixのデフォルトは空文字列です。 + </p> + <table border> + <tr class="header"><th>エスケープ文字</th><th>効果</th></tr> + <tr><td>%a</td><td>クライアントのアプリケーション名</td></tr> + <tr><td>%p</td><td>プロセスID (PID)</td></tr> + <tr><td>%P</td><td>プロセス名</td></tr> + <tr><td>%t</td><td>タイムスタンプ</td></tr> + <tr><td>%d</td><td>データベース名</td></tr> + <tr><td>%u</td><td>ユーザ名</td></tr> + <tr><td>%l</td><td>プロセスごとのログ行番号</td></tr> + <tr><td>%%</td><td>'%' 文字自身</td></tr> + </table> + <p> + このパラメータを変更した時には設定ファイルを再読み込みしてください。 + </p> + </dd> + +<dt><a name="LOG_ERROR_VERBOSITY"></a>log_error_verbosity</dt> + <dd> + <p> + ログメッセージの詳細度を指定します。 + TERSE, DEFAULT, VERBOSEの順に詳細になります。 + TERSE では、DETAIL, HINT, CONTEXTの各メッセージが含まれなくなります。 + </p> + <p> + このパラメータを変更した時には設定ファイルを再読み込みしてください。 + </p> + </dd> <dt><a name="LOG_CONNECTIONS"></a>log_connections</dt> <dd> @@ -837,6 +873,32 @@ local0.* /var/log/pgpool.log </p> </dd> +<dt><a name="CLIENT_MIN_MESSAGES"></a>client_min_messages</dt> + <dd> + <p> + クライアントに送る最低メッセージレベルを設定します。 + DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, LOG, NOTICE, + WARNING, ERROR, FATAL, PANIC が指定でき、左に行くほど冗長です。 + デフォルトは NOTICE です。 + </p> + <p> + このパラメータを変更した時には設定ファイルを再読み込みしてください。 + </p> + </dd> + +<dt><a name="LOG_MIN_MESSAGES"></a>log_min_messages</dt> + <dd> + <p> + ログに書き出す最低メッセージレベルを設定します。 + DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, + WARNING, ERROR, LOG, FATAL, PANIC が指定でき、左に行くほど冗長です。 + デフォルトは WARNING です。 + </p> + <p> + このパラメータを変更した時には設定ファイルを再読み込みしてください。 + </p> + </dd> + <dt><a name="LOG_HOSTNAME"></a>log_hostname</dt> <dd> <p> @@ -6071,6 +6133,7 @@ SELECTの最終実行ステータスとパフォーマンスのおおよその <h1 id="release">リリースノート</h1> <ul class="flat_ul"> +<li><a href="#release3.4.x">V3.4.x</a></li> <li><a href="#release3.3.x">V3.3.x</a></li> <li><a href="#release3.2.x">V3.2.x</a></li> <li><a href="#release3.1.x">V3.1.x</a></li> @@ -6085,6 +6148,91 @@ SELECTの最終実行ステータスとパフォーマンスのおおよその <li><a href="#release1.0.x">V1.0.x</a></li> </ul> +<!-- ================================================================================ --> +<!-- 3.4 --> +<!-- ================================================================================ --> +<hr><a name="release3.4.x"></a> + +<!-- -------------------------------------------------------------------------------- --> +<h2><a name="release3.4.0"></a>3.4.0 (tataraboshi) 2014/10/XX</h2> +<!-- -------------------------------------------------------------------------------- --> +<h3>概要</h3> +<p> +このバージョンは 3.4 系列の最初の版で、3.3 系からの「メジャーバージョンアップ」にあたります。 +</p> + +<h3>互換性のない変更</h3> + +<p> + +<ul> + <li>パラレルクエリモードが廃止され、pgpool.confから削除されました。 + これは、パラレルクエリモードのユーザが少ない割に維持に手間がかかるためです。 + 実際にはパラレルクエリモード用のコードはまだ存在しており、pgpool.confに必要なパラメータを書くことで使用は可能です。 + しかしながら、次のpgpool-IIのバージョン(3.5.0)では、コードも削除される予定です</li> + + <li>"print_timestamp"が削除されました。代わりに"<a href=#LOG_LINE_PREFIX>log_line_prefix</a>を使ってください</li> + + + <li>リカバリスクリプトが従来の3つではなく、4つのパラメータを受け取るようになりました(4番目のパラメータは、PostgreSQLのマスタサーバのポート番号です)。 + もし4番目のパラメータの情報を必要としないのであれば、従来の3つのパラメータを受け取るリカバリスクリプトも利用できます</li> + +</ul> +</p> + +<!-- -------------------------------------------------------------------------------- --> +<h3 id="3.4_new_features">新機能</h3> + +<ul> +<li>アプリケーション名あるいはデータベース名できめ細かく負荷分散を制御できるようになりました(<a href="#DATABASE_REDIRECT_PREFERENCE_LIST">database_redirect_preference_list</a>と +<a href="#APP_NAME_REDIRECT_PREFERENCE_LIST">app_name_redirect_preference_list</a>を参照)。 + たとえば、クライアントのアプリケーション名の場合に、どれかのスレーブサーバに検索を分散させるのではなく、マスタサーバに投げるような設定も可能です(Tatsuo)</li> + +<li>pgpool-IIのプロセス名をログに出力できるようになりました。そのための新しいパラメータは "log_line_prefix"で、printfで指定するようなやり方で、ログの先頭に文字列を追加できます(Usama)</li> + +<li>PostgreSQLのように、ログの詳しさを指定できるようになりました。 +あたらしいパラメータは "<a href="#LOG_ERROR_VERBOSITY">log_error_verbosity</a>", "<a href="#CLIENT_MIN_MESSAGES">client_min_messages</a>", "<a href="#LOG_MIN_MESSAGES">log_min_messages</a>" です(Tatsuo)</li> + +<li>新しいパラメータ "<a href="#ALLOW_SQL_COMMENTS">allow_sql_comments</a>" がオンの場合、負荷分散に干渉すること無くSQLコメントを使えるようになりました。オフの場合は今までと同様の振る舞いになります(Tatsuo)</li> + +<li>"<a href="#CHECK_UNLOGGED_TABLE">check_unlogged_table</a>"という新しいパラメータにより、unloggedテーブルが使われているかどうかのチェックが省略できるようになりました。これにより、pgpool-IIが発行する内部的なカタログ参照のためのクエリの数を減らして性能を向上できます(Tatsuo)</li> + +<li>新しいパラメータ"<a href="#LISTEN_BACKLOG_MULTIPLIER">listen_backlog_multiplier</a>"を使って、非常に負荷の高いシステムにおけるListenバックログのあふれを防ぐことができるようになりました(Tatsuo)</li> + +<li>新しいパラメータ"<a href="#CONNECT_TIMEOUT">connect_timeout</a>"を使って、バックエンドへの接続タイムアウトを防ぐことができるようになりました。この機能は、不安定なネットワーク環境で役に立ちます(Tatsuo)</li> + +</p> +</ul> + +<!-- -------------------------------------------------------------------------------- --> +<h3 id="3.4_enhancements">改善点</h3> + +<ul> +<li>組み込みのSQLパーサがPostgreSQL 9.4と互換性のあるものになりました(Usama)</li> + +<li>PostgreSQLのメモリマネージャと例外処理マネージャが移植されました(Usama)</li> + +<li>ソースツリーを再構成しました(Usama)</li> + +<li>pgpool_statusのフォーマットがASCIIファイルになりました。これにより、たとえばpgpool-IIを起動するまえにダウンしているPostgreSQLノードを登録するようなことが可能です(Tatsuo)</li> + +<li>リカバリスクリプトに新しい第4のパラメータが追加されました。マスターノードのポート番号が指定可能です(Tatsuo)</li> + +<li>3つより多いデータベースをpgpool_setupで扱えるようになりました(Tatsuo)</li> + +</p> +</ul> + +<!-- -------------------------------------------------------------------------------- --> +<h3 id="3.4_fixes">バグ修正(pgpool-II 3.3.4以降のもの)</h3> + +<ul> +<li>Close portalリクエストを存在しないポータルに発行してもエラーにならなくなりました。これが元々PostgreSQLのフロントエンド/バックエンドプロトコルで要求されていた仕様です。このようなケースでは、バックエンドを経由すること無く"close complete"メッセージがクライアントに直ちに返るようになりました(Usama)</li> + +<li>Coverityにより見つかった多くのバグが修正されました(Usama, Tatsuo)</li> + +</ul> + <!-- ================================================================================ --> <!-- 3.3 --> <!-- ================================================================================ --> [parent: 5cb49342abaf]