$Id: changes.html,v 1.5 2008/11/05 06:32:52 z-matsuzaka Exp $
リリース日:2005/04/07
掲載日:2005/04/12
PostgreSQL 8.0.2 の前バージョンからの変更点
8.0.1からの累積的な修正バージョンです。libpqのメジャーバージョンが変
更されているほか、一部特許関係のトラブルを避けるため、今までのマイナーバージョンと比較して大きめの変更がされています。Windows版特有の問題点もいくつか修正されています。可及的速やかなバージョンアップをおすすめします。
注意: ここにあげた変更点は、すべてを網羅していない可能性があります。
詳しくはソースに付属の HISTORY というファイルを見てください。
重要な修正
- 7.4以前の一部のアプリケーション(psqlなど)と8.0のlibpqは互換性がない
ため、libpqのメジャーバージョンが上がりました。ただし、これは8.0で
libpqの隠し関数が削除されたためで、8.0.2でのソース/バイナリレベルの
変更点はありませんが、以下のような条件で再リンクの必要性があります。
- 8.0/8.0.1でコンパイルしたアプリケーションを8.0.2以降で使う
- 7.4でコンパイルしたアプリケーション(の一部)と8.0.2以降でコンパイル
したアプリケーションを共用する。
Win32
- wal_sync_methodに設定できる値として、fsync_writethroughが追加されま
した。基本的にはfsyncと同じものを意味していますが、他のプラットフォーム
とあまりにも挙動が違うため、別名になりました。
- GUCのwal_sync_methodにopen_datasyncが指定出来るようになり、かつデフォ
ルト値に変更されました。従来のデフォルト値 fsync(本バージョン以降は
fsync_writethrough)の場合、ディスクの書き込みキャッシュがONになっている
場合にデータ損失の可能性があります。Windows上で書き込みキャッシュをOFF
にするためには、デバイスマネージャーで当該ディスクを選択し、プロパティ
の「ポリシー」タグから「ディスクの書き込みキャッシュを有効にする」のチェッ
クボックスをOFFにしてください。
- log_destinationのデフォルトがeventlogになりました
その他の修正
- Win32のみ
- pg_ctlコマンドの、registerとunregisterについてのドキュメントが追加さ
れました。
- kerberos認証が動くようになりました
- キャッシュアルゴリズムが、8.0で新しく採用されたARCから2Qに変更になりました。これは、ARCに関する特許がUSで申請中であり、成立した場合 BSDライセンスに完全に沿った配布が出来なくなる可能性があるため、それを避けたものです。この変更によりわずかにパフォーマンスが低下します。
- 新しく作られたテーブルに対してのプランナーの動作が改善されました。ページ長0のテーブルの場合、tuple/page比*現在のサイズを使ったタプル数予測で問題が発生していました
- plpgsqlで、nullで初期化された配列要素が許可されるようになりました。
- plpythonで、\r\n,\rと言った改行を\nに読み替えるようになりました。今までではこれらの改行コードの扱いによって、WindowsやMacで書かれたコードが構文エラーになることがありました。
- SPI関数で、検索結果を返すユーティリティ関数、例えばexplainなどを扱えるようになりました。
- "ALTER TABLE SET WITHOUT OIDS" 後にclusterコマンドを実行した場合に失敗する不具合が修正されました。
- "ALTER TABLE ADD COLUMN" のときに利用するメモリ使用量を削減しました。
- "ALTER LANGUAGE RENAME"が正しく動いていなかった問題が修正されました。
- 統計情報収集プロセスが、バックエンド終了直前に発生した問い合わせ等に関する統計情報を正しく処理出来ていなかった問題が修正されました。これは、 pg_autovacuumが一時テーブルのdropをタプル削除と正しく認識出来ないために、システムテーブルのvacuumタイミングを計り損ねる問題を発生させていました
- "ALTER DATABASE RENAME"が、createdb権限を持たないスーパーユーザーにも実行出来るようになりました。
- トランザクション中で、テーブルを作成した後即そのテーブルをカーソルで 参照し、そのままバックエンドから抜けた場合にクラッシュする問題が修正 されました。
- 一部の配列型から配列型変換時にクラッシュする問題が修正されました。
- contrib/tsearch2,btree_gistに関する修正が取り込まれました。
- pgcryptoモジュールが一部のプラットフォームでクラッシュする問題が修正 されました。
- contrib/intaggの64bit対応コードに問題があったものが修正されました。
- ecpgで、create table as文など一部の命令を使うとクラッシュする問題が修正されました。
- ppc/amd64でecpgがクラッシュする問題が修正されました。
- locale=Cの場合、upper(),lower(),initcap()関数はlocale依存版を使わないようになりました。
- quote_ident()関数がSQL予約語をクォートするようになりました。
- TO_DATE関数でCCとYYを両方指定した場合の挙動が改善されました。
- TO_CHAR(interval)で、月の長さ=0と指定したときにクラッシュする問題が修正されました。
- date_trunc('week')関数は、1年の最初の週のとき、間違った年を出力してしまうことがある問題が修正されました。
- INET型で、class Dのアドレスを使う場合のデフォルトのネットマスクが間違っていた問題が修正されました。
Copyright © 2005- SRA OSS, Inc. Japan All rights reserved.