PostgreSQL 8.0.6 に関する技術情報

このリリースは 8.0.5 からの修正リリース(2006/1/9リリース)です。

以下に変更点をまとめます。各項目の末尾に適用されるバージョンを記載しております。本ドキュメントは PostgreSQL のリリースノート/HISTORY ファイルを元に作成しています。

PostgreSQL 8.0.5 から 8.0.6 への変更点

8.1.2、8.0.6、7.4.11、7.3.13 の各バージョンが同時にリリースされており、本ページでは共通の記載としています。各修正項目が適用されるバージョン系列番号を項目末尾に括弧書きで記載しています。


    セキュリティに関する修正

    Windows上のPostgreSQLにおいてDoS攻撃に対する脆弱性が発見/修正されました

    同時に大量の接続要求がくることによって postmaster プロセスが死んでしまいます。そのときすでに存在している接続には影響がありませんが、それ以降、postmaster を再起動しない限り、新たな接続ができなくなってしまいます。この問題が修正されました。なお、本脆弱性は弊社も携わっております IPA(情報処理推進機構)の「電子政府に用いられる OS のセキュリティ品質評価方法に関する調査研究」により発見、報告されました。(Windows における 8.0系、8.1系)

    不具合の修正

  1. 使用済みの ReadBuffer が新しいものとして返される不具合が修正されました。新しく追加されたページを上書きしてしまうことで最近追加したデータが消失してしまう可能性がありました。(8.0系、8.1系)
  2. トランザクション外または失敗したトランザクション内から発行される、プロトコルレベルの Describe メッセージが修正されました。(7.4系、8.0系、8.1系)
  3. ロケールを伴う文字列比較に関する誤りが修正されました。本修正を適用するには実行ファイルを入れ替えた後さらに、テキスト型のインデックスをREINDEXする必要があります。hu_HU ロケール(ハンガリー) などが影響をうけます。(7.3系、7.4系、8.0系、8.1系)
  4. PL/perl による偶発的なロケール変更を防ぐように修正されました。ロケールを指定する環境変数を initdb 時と異なる値にして postmaster を起動すると PL/perl 使用時にインデックスが破壊される可能性がありました。バージョンアップ後にテキスト型のインデックスを REINDEX をすべきです。(7.3系、7.4系、8.0系、8.1系)
  5. エンコーディング ISO-8859-5 および ISO-8859-9 を使用してクラッシュする障害が修正されました。(8.1系)
  6. 長期間存在した、ごく一部の特定のアジア向けマルチバイト文字セットを取り扱う場合の strpos() と正規表現の不具合を修正しました。(7.3系、7.4系、8.0系、8.1系)
  7. RECORD を返す関数に関するさまざまな修正がされました。RECORD 型を返す関数が EXPLAIN で失敗する問題がありました。(8.1系)
  8. 式インデックスの処理における autovacuum のクラッシュが修正されました。(8.1系)
  9. postgresql.conf の最後の行が改行なしで終わっている場合に適切に処理できるように修正されました。(8.1系)
  10. その他の変更

  11. インストール先のディレクトリをより柔軟に指定できるようになりました。これまでは、すべてのインストールディレクトリパスが最後の要素を除いて同一である場合にのみ、位置の変更をサポートしていました。(8.1系)
  12. COPY 文の CSV モードにおける終端記号「¥.」の処理が修正されました。修正適用後のバージョンでは、ドキュメントの記載通り、1行に「¥.」のみがあることを必要とします。(8.1系)
  13. データ終端記号と解釈されないように、COPY CSV モードでリテラルデータ値内の ¥.を引用符で括るようになりました。(8.1系)
  14. contrib ツールの修正

  15. /contrib/pgcrypto の gen_salt における、MD5 および XDES アルゴリズム用のソルト空間をすべて利用できないという不具合が修正されました。Blowfish および標準 DES 用のソルトには影響ありません。
  16. /contrib/dblink で、指定した列数が実際に問い合わせで返される列数と異なる場合にクラッシュせずにエラーを返すように修正されました。