PostgreSQL 8.0.1 に関する技術情報

このリリースは PostgreSQL 8.0.1 (2005/01/31リリース)に関する技術情報をお届けします。本ドキュメントは PostgreSQL のリリースノートを元に弊社で解説を加えたものです。

PostgreSQL 8.0 から 8.0.1 への変更点

7.2.6/7.3.9/7.4.7と同じセキュリティ関連の重要な修正を含む、累積的な修正バージョンです。また特にWindows版特有の問題点もいくつか修正されています。可及的速やかなバージョンアップをおすすめします。

注意: ここにあげた変更点は、すべてを網羅していない可能性があります。詳しくはソースに付属の HISTORY というファイルを見てください。

セキュリティ関連の修正

    1. “LOAD”コマンドがスーパーユーザーのみが実行出来るようになりました。これにより、一般ユーザーが悪意を持ったライブラリを読み込ませることが可能になり、WindowsやELFベースのUNIX系OSでは任意のコードをPostgreSQLのユーザー権限で実行出来てしまう問題が修正されました。
    2. 集約関数の作成者が、集約関数の内部で実行している関数を実行する権限があるかどうかをチェックしていない問題が修正されました。
    3. PL/pgSQLで大量の引数を使ってカーソルを発行した場合にバッファオーバーランが発生する問題が修正されました。
    4. contrib/intaggが64bit環境に対応していなかった問題が修正されました。64bit UNIXにおいてバックエンドのクラッシュが発生します。

その他の修正

  1. FULL / RIGHT (OUTER) JOINにおいて、誤った検索結果が出力されたり、順序が狂る問題が修正されました。
  2. contribのいくつかの関数に条件を満たしているにもかかわらず”STRICT”が指定されていなかったもので、”STRICT”が追加されました。
  3. ecpgで、typedef内に名前付き構造体を定義している場合にクラッシュする問題が修正されました。
  4. ALTER TABLE ADD COLUMNで行を追加した場合、必ずドメインに付けられた制約を付けるようになりました。
  5. ROLLBACK TO でsavepointまで戻るとき、その間にオープンしたカーソルをすべて閉じるようになりました。
  6. pg_dump/pg_restoreで、ダンプが正しく扱えないケースがあるなど、いくつかの問題が修正されました。
  7. グループ化と集約関数の組み合わせでのプラン作成が向上しました。
  8. win32
    • NT4.0(IE4非適用)でpsqlが起動しない問題が修正されました。ただし、NT4は正式にサポートするプラットフォームではありません。
    • 巨大なIN()を含む問い合わせでクラッシュする問題が修正されました。
    • pg_autovacuumをサービス化したときに、起動に失敗することのある問題が修正されました。