[pgpool-general-jp: 951] pgpool-II 3.1.0 alpha3リリース
Toshihiro Kitagawa
kitagawa @ sraoss.co.jp
2011年 7月 13日 (水) 16:13:40 JST
pgpool-IIユーザの皆様
pgpool Development Groupからのお知らせです。
本日、pgpool-II 3.1.0 alpha3をリリースしました。
pgpool-II 3.1は3.0からのメジャーバージョンアップにあたり、
多くの機能追加や改良が行われています。
テストにご協力くださいますよう、よろしくお願い申し上げます。
ダウンロードは以下から可能です。
http://pgfoundry.org/frs/download.php/3094/pgpool-II-3.1.0-alpha3.tar.gz
バグなどお気づきの点は、このMLかpgfoundryのML(英語)にてご連絡下さい。
以下はalpha2からの主な変更点です。
互換性のない変更
================
- insert_lockのロック方法を変更しました。以前のinsert_lockは、シーケン
ステーブルに対して行ロックを行いましたが、現在は、pgpool_catalog.
insert_lockテーブルに対して行ロックを行います。その理由は、シーケン
ステーブルに対するロックが内部エラーを引き起こすため、PostgreSQLの
コア開発者がそれを許可しないことを決定したためです。
したがって、pgpool-II経由でアクセスするすべてのデータベースに
insert_lockテーブルをあらかじめ作成しておく必要があります。もし、
insert_lockテーブルが存在しない場合は、挿入対象のテーブルに対してロ
ックを行います。これは、pgpool-II 2.2と2.3シリーズのinsert_lockと同
じ動作です。また、過去のバージョンと互換性のあるinsert_lockを使用し
たい場合は、configureオプション(--enable-sequence-lock,
--enable-table-lock)で設定できます(Kitagawa)
- ストリーミングレプリケーションにおいて、delay_thresholdが0またはヘル
スチェックが無効ならば、遅延チェックは実施されなくなりました。これは
pgpool-IIマニュアル通りの動作ですが、これまではヘルスチェックが無効
の場合も遅延チェックが実施されていました(Guillaume Lelarge)
新機能
======
- バックエンドごとのパラメータ"backend_flag"を追加しました。これ
は、バックエンドごとの動作を制御します。今は"ALLOW_TO_FAILOVER"また
は"DISALLOW_TO_FAILOVER"が指定できます(Tatsuo)
- health_check_passwordパラメータを追加しました。これは、ストリーミン
グレプリケーションモードのレプリケーション遅延チェックでヘルスチェッ
クのパラメータが使用されるためです(Nicolas Thauvin)
- pg_md5コマンドに--username(または-u)オプションを追加しました。これは、
UNIXアカウントを持たないユーザの管理を可能にします。日本語ドキュメン
トはTatsuo Ishiiさんが修正しました(Nicolas Thauvin)
- pgpool_adm関数をpgpool_adm/に追加しました。これらは、pcpコマンドの
ように動作するC言語で書かれたユーザ定義関数です
(Jehan-Guillaume (ioguix) de Rorthais)
- 関数をアンインストールするためのSQLファイルをsql/に追加しました
(Nicolas Thauvin)
バグ修正
========
- rawモードでノードを復帰させたときにノードの状態が更新されないバグを
修正しました(Guillaume Lelarge)
- ストリーミングレプリケーションモードでレプリケーション遅延の計算が間
違っていたのを修正しました(Tatsuo)
- フェイルオーバーのログメッセージ内の誤った関数名"notice_backend_error"
を、正しいもの"degenerate_backend_set"に置き換えました(Tatsuo)
- pgpool.conf解析後の不要なログ出力を削除しました(Tatsuo)
- md5認証方式を採用してデーモンとして実行したときのハングアップを修正
しました。パッチはNicolas Thauvinさんから頂きました(Tatsuo)
- 拡張問い合わせプロトコルでSQL文が出力されるように、
log_per_node_statementを修正しました。これは以前は動作していましたが、
3.0で動作しなくなっていました(Kitagawa)
- クライアントのアイドル時間がclient_idle_limitに達したときに、フロン
トエンドに送信される正しくないエラーメッセージを修正しました(Tatsuo)
- pool_statusの"backend status"パラメータの名前を正しく修正しました。
スペースを'_'に置き換えました(Guillaume Lelarge)
改良
====
- ストリーミングレプリケーションモードでレプリケーション遅延をチェック
するための関数を変更しました。現在、pgpoolは
pg_last_xlog_receive_location()の代わりにpg_last_xlog_replay_location()
を使用します。修正はAnton Yuzhaninovさんの提案によるものです(Tatsuo)
- カラムのデフォルト値に任意の式を指定してもタイムスタンプ書き換えが動
作するようにしました。以前は、now()が含まれているものを検知すると、
単純にそれをnow()で置き換えてました。これは、デフォルト値の誤った書
き換えを引き起こします。例えば、timezone('utc'::text, now())です。
しかし、これは簡易プロトコルのみへの適用であることに注意してください。
拡張プロトコル(例えばJava, PHP PDO)または、SQLの"PREPARE"にはまだ
適用されていません(Tatsuo)
- レプリケーション遅延のチェックに失敗したときに出力されるエラーメッセ
ージを改良しました(Nicolas Thauvin)
- エラーメッセージ"do_md5: read_password_packet failed"をデバッグレベ
ルにしました(Kitagawa)
- サンプルの設定ファイルのblack_function_listにcurrval()とlastval()を
追加しました。もしそれらがロードバランスされると、nextval()や
setval()の結果がスレーブに反映される前にcurrval()またはlastval()が呼
ばれることがあります(Tatsuo)
pgpool-general-jp メーリングリストの案内