リリース日: 2005-04-07
このリリースは、8.0.1の各種不具合を修正したものです。 8.0メジャーリリースにおける新機能については項E.83を参照してください。
8.0.*からの移行ではダンプ/リストアは不要です。 このリリースではPostgreSQLライブラリの主バージョン番号が更新されました。 従って、ユーザアプリケーションが適切な番号の共有ライブラリを検出できなかった場合、再リンクしなければならないかもしれません。
全てのインタフェースライブラリの主バージョン番号を増加させた(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)