★PostgreSQLカンファレンス2024 12月6日開催/チケット販売中★
他のバージョンの文書 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

E.217. リリース8.0.2

リリース日

2005-04-07

このリリースは、8.0.1の各種不具合を修正したものです。 8.0メジャーリリースにおける新機能についてはE.219. リリース8.0を参照してください。

E.217.1. バージョン8.0.2への移行

8.0.*からの移行ではダンプ/リストアは不要です。 このリリースではPostgreSQLライブラリの主バージョン番号が更新されました。 従って、ユーザアプリケーションが適切な番号の共有ライブラリを検出できなかった場合、再リンクしなければならないかもしれません。

E.217.2. 変更点

  • すべてのインタフェースライブラリの主バージョン番号を増加させました(Bruce)

    これは8.0.0の時に行われるはずでした。 psqlなどの7.4.x版のPostgreSQLクライアントアプリケーションを8.0.xアプリケーションと同じマシンで使用できるようにするために要求されました。 こうしたライブラリを使用するユーザアプリケーションの再リンクが必要になるかもしれません。

  • Windows専用のwal_sync_methodの設定fsync_writethroughを追加しました(Magnus, Bruce)

    この設定により、PostgreSQLはWALへの書き出し時にディスクドライブのライトキャッシュを経由して書き出すようになります。 この振舞いは以前はfsyncと呼ばれていましたが、他のプラットフォームにおけるfsyncとかなり異なる動作であるため別の名前にしました。

  • Windows上でwal_sync_methodの設定open_datasyncを有効にし、このプラットフォームにおけるデフォルトにしました(Magnus, Bruce)

    デフォルトがfsync_writethroughではありませんので、ディスクドライブのライトキャッシュが有効な場合、電源障害時にデータ損失の可能性があります。 Windows上でライトキャッシュを無効にするためには、デバイスマネージャからドライブのプロパティを選択し、そしてポリシーを選択してください。

  • 新しいキャッシュ管理アルゴリズム2QARCを置き換えました(Tom)

    これはARCに関する審査待ちの米国特許を避けるために実施しました。 2Qコードは、ある種の作業状態ではARCより数パーセント速度が落ちる可能性があります。 より優れたキャッシュアルゴリズムが8.1で導入される予定です。

  • 新規に作成されたテーブルに対する動作を改良するためのプランナの調整 (Tom)

  • plpgsqlにて初期値がNULLの配列要素に代入できるようにしました(Tom)

    これまではこうした配列はNULLのままでしたが、現在では単一要素の配列になりました。 8.0にてNULL配列値のUPDATEの主SQLエンジンにおける扱いがこの方法に変更されましたが、plpgsqlにおける同じ状況が見落とされていました。

  • plpythonの関数本体において\r\n\r\nに変換しました(Michael Fuhr)

    これにより、plpythonのコードがWindowsクライアントやMacクライアントで作成された場合の構文エラーを防止できます。

  • SPIカーソルでEXPLAINなどの行を返すユーティリティコマンドを扱えるようにしました (Tom)

  • ALTER TABLE SET WITHOUT OIDS後のCLUSTERの障害を修正しました (Tom)

  • ALTER TABLE ADD COLUMNのメモリ消費量を減少させました(Neil)

  • ALTER LANGUAGE RENAMEを修正しました (Tom)

  • pg_ctlのWindows独自のregisterオプションとunregisterオプションを文書化しました(Magnus)

  • バックエンドシャットダウン中に行われた操作が統計情報コレクタで確実に集計されるようにしました。

    これは、システムカタログのバキューム処理が十分な間隔で行われていないというpg_autovacuumの報告を解消するためのものです。 バックエンド終了時の一時テーブル削除が原因のカタログの削除に関するものではありません。

  • log_destination設定パラメータのWindowsのデフォルトをeventlogに変更しました (Magnus)

    デフォルトでは、Windowsで稼動しているサーバはログ出力を標準エラーではなく、Windowsイベントロガーに送信します。

  • Kerberos認証をWindowsで動作できるようにしました(Magnus)

  • ALTER DATABASE RENAMEを、CREATEDB権限を持たないスーパーユーザで実行できるようにしました(Tom)

  • CREATEおよびDROP DATABASEのWALログ項目を絶対パスを指定しないように変更しました(Tom)

    これにより、ポイントインタイムリカバリをデータベースの格納場所が異なる可能性がある別のマシンで実行できるようになりました。 こうした状況はまだCREATE TABLESPACEでは危険であることに注意してください。

  • テーブルを作成し、そのテーブルへのカーソルを開いているトランザクションが実行中に、そのバックエンドが終了した場合のクラッシュを修正しました。(Tom)

  • array_map()を修正し、PL関数からそれを呼び出すことができるようにしました(Tom)

  • contrib/tsearch2およびcontrib/btree_gistに関する複数の修正 (Teodor)

  • あるプラットフォームにおけるcontrib/pgcrypto関数のクラッシュを修正しました (Marko Kreen)

  • 64ビットプラットフォーム用にcontrib/intaggを修正しました (Tom)

  • CREATE文の解析におけるECPGの不具合を修正しました (Michael)

  • ECPGの問題の原因となる、powerpcおよびamd64におけるgccの不具合を回避しました (Christof Petig)

  • ロケールがCの場合に、ロケールを考慮したupper()lower()initcap()を使用しないようにしました (Bruce)

    これにより、ロケールがCの場合に非7ビットデータに対してエラーを生成するプラットフォームで、こうした関数が動作するようになります。

  • quote_ident()がキーワードに一致する名前を引用符で括るように修正しました (Tom)

  • to_date()CCフィールドとYYフィールドの両方が使用された場合に合理的に振舞うように修正しました (Karel)

  • to_char(interval)が月の間隔として0が指定された場合に失敗することを防止しました (Tom)

  • date_trunc('week')が間違った週を返さないように修正しました (Bruce)

    date_trunc('week')は、ある年の1月の初めの数日に対して間違った年を返しました。

  • INETデータ型において、クラスDアドレスのデフォルトのマスク長を正しく使用するようにしました (Tom)