リリース8.0.2

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

# E.66. リリース8.0.2

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

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

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

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

## E.66.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上でライトキャッシュを無効にするためには、デバイスマネージャからドライブのプロパティを選択し、そして`ポリシー`を選択してください。

- 新しいキャッシュ管理アルゴリズム2QでARCを置き換えた(Tom)

  これはARCに関する審査待ちのUSパテントを避けるために実施しました。 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)

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