リリース 8.0.4

PostgreSQL 8.4.1文書
前のページ | 巻戻し | 付録 E. リリースノート | 早送り | 次のページ

# E.64. リリース 8.0.4

> リリース日: 2005-10-04

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

## E.64.1. バージョン8.0.4への移行

8.0.Xからの移行ではダンプ/リストアは不要です。 しかし、8.0.3より以前のバージョンからアップグレードする場合は、8.0.3のリリースノートを参照してください。

## E.64.2. 変更点

- `VACUUM`によって`ctid`チェーンがすぐに削除されてしまうエラーを修正し、`ctid`リンクを追跡するコードにおいてより多くの検査を行うようにしました。

  これにより、長い間存在した、非常に稀な環境におけるクラッシュという問題が修正されました。

- マルチバイト文字セットを使用する場合に、`CHAR()`の空白文字埋め込みが適切に指定した長さになるように修正しました。(Yoshiyuki Asaba)

  以前のリリースでは、`CHAR()`の空白文字埋め込みが正しくありませんでした。 格納する文字数を考慮せずに、単に指定されたバイト数で空白文字を埋め込んでいただけでした。

- `CREATE DATABASE`をコミットする前にチェックポイントを強制実行します。

  これにより、`CREATE DATABASE`の実行後すぐにクラッシュしてしまった場合に起きる"index is not a btree"という失敗が修正されたはずです。

- `COPY`における読みとりのみのトランザクションに関する試験の意味を修正しました。

  このコードで`COPY TO`を禁止していましたが、本来ならば`COPY FROM`を禁止しなければなりません。

- CSVモード入力の`COPY`において、連続して埋め込まれた改行を取り扱うようになりました。

- 年末近くの日付に対する`date_trunc(week)`を修正しました。

- リレーションの内部のみを参照する、外部結合のON句に関する計画作成の問題を修正しました。

- `x FULL JOIN y ON true`の境界に関して更に改修しました。

- `x IN (SELECT DISTINCT ...)`と関連する状態に対する過度な最適化を修正しました。

- "あいまいな"コスト比較の考慮が十分でなかったため、小さな`LIMIT`値の問い合わせに対する計画作成の間違いを修正しました。

- `array_in`と`array_recv`のOIDパラメータの検証をより偏執的に行うようにしました。

- `a`列にGiSTインデックスを持つ場合の`UPDATE a=... WHERE a...`といった問い合わせにおいて行が見つからない点を修正しました。

- 日付時刻の解析の堅牢性を向上しました。

- 部分的に書き込まれたWALページに対する検査を改良しました。

- SSL有効時のシグナルの扱いに対する堅牢性を向上しました。

- MIPSおよびM68Kのスピンロックコードを改良しました。

- postmasterの起動時に、`max_files_per_process`以上のファイルを開かないようにしました。

- さまざまなメモリリークを修正しました。

- 移植性の向上をいろいろと行いました。

- タイムゾーンデータファイルを更新しました。

- WindowsにおけるDLLロード失敗の扱いを改良しました。

- Windowsにおける乱数発生を改良しました。

- `psql -f filename`において、指定したファイルを開くことができなかった場合の終了コードを非0にしました。

- 継承された検査制約をより正確に扱うようにpg_dumpを変更しました。

- Windowsにおいて、pg_restoreのパスワード入力待ちを修正しました。

- PL/PgSQLにおいて、変数が参照渡し型の場合の`var := var`の扱いを修正しました。

- PL/Perlの`%_SHARED`を修正し、本当に共有できるようになりました。

- 2000秒以上の間隔で待機できるように`contrib/pg_autovacuum`を修正しました。

- 正確なSnowballコードを使用するように`contrib/tsearch2`を更新しました。

前のページ | ホーム | 次のページ
リリース8.0.5 | 上に戻る | リリース8.0.3