リリース8.3.17リリース日2011-12-05このリリースは8.3.16に対し、各種の不具合を修正したものです。リリース8.3を参照してください。バージョン8.3.17への移行8.3.Xからの移行ではダンプ/リストアは不要です。information_schema.referential_constraintsビュー定義において長期に渡って潜在したエラーが見つかりました。このビューからの正確な結果に依存している場合、後述の変更点の最初で説明する通りその定義を置き換えなければなりません。リリース8.3.8を参照してください。変更点information_schema.referential_constraintsビューの不具合を修正しました。Lane)このビューでは、外部キーと依存する主キーまたは一意キー制約との対応付けについて十分な注意を払っていませんでした。このため、外部キー制約がまったく表示されない、何回も表示される、あるいは、実際の依存する制約とは異なる制約に依存するものと言い張るという結果になることがありました。このビュー定義はinitdbによってインストールされますので、ただアップグレードしただけでは問題は解消されません。既存のインストレーションでこの問題を解消させなければならない場合、(スーパーユーザとして)information_schemaスキーマを削除して、SHAREDIR/information_schema.sqlを元に再作成することができます。--sharedirを実行してください。これは修正対象のデータベースそれぞれで繰り返さなければなりません。src時のTOAST関連のデータの破損を修正しました。COLUMNによって変更された場合、データを逐語的に別のテーブルにコピーしようとした時に特定の境界条件で破損した結果になることがありました。この問題は、8.4以降において、この構文においてのみ明確に発生し得たものですが、同じ不具合を引き起こす他のコードパスがある場合に備えて、より過去のバージョンにおいてもパッチを適用しました。無効なsyscache項目からTOASTテーブルにアクセスする時の競合条件を修正しました。pg_toast_2619」のような一時的なエラーです。ここで挙げられるTOASTテーブルは常にシステムカタログに属します。DatumGetInetP()が1バイトヘッダを持つinetデータを展開するようにしました。展開を行わない、新しいマクロDatumGetInetPP()を追加しました。Linnakangas)この変更がコアコードに影響することはありませんが、DatumGetInetP()が通常の規約の通りに展開したデータを生成することを想定しているアドオンのコードにおけるクラッシュを防止できるかもしれません。money型の入出力におけるロケールのサポートを改良しました。Lane)すべての標準lc_monetary書式付けオプションをサポートしていないという点以外にも、入力関数と出力関数に一貫性がなかったため、ダンプされたmoney値では再度読み取ることができないロケールがありました。...式に影響を与えないようにしました。NULLに影響を与えることのみを前提としています。自己参照外部キーをより良くサポートするために、外部キートリガの生成順序を変更しました。UPDATEトリガとCHECKトリガの両方を発行します。UPDATEトリガを最初に実行しなければなりません。しないと、CHECKは最終的ではない行の状態を検査することになり、不適切なエラーが発生する可能性があります。これらのトリガの発行順序はその名前によって決まります。トリガは「RI_ConstraintTrigger_NNNN」という規約に従った名前で自動生成されますので、一般的には作成順序によって決まります。適切な修正にはこの規約の変更が必要です。9.2で変更する予定ですが、既存のリリースで変更することには危険があるように思われます。このため、このパッチはトリガの作成順序を変更するだけです。この種のエラーが起きたユーザは、トリガを正しい順序にするために、外部キー制約を削除し再作成しなければなりません。バッファ割当率を追跡する際の浮動小数アンダーフローを防止します。Matthews)これ自体は害がないものですが、特定のプラットフォームではこれにより煩わしいカーネルログメッセージが現れます。psqlのコマンド履歴内で空行を含むコマンドを保持します。Haas)これまでの動作では、例えば文字列リテラル内の空行が削除された場合に問題が起きました。テーブルの行型など自動生成された型の間でユーザが定義したキャストをダンプするようにpg_dumpを修正しました。Lane)PL/Perlの構築時に好みのバージョンのxsubppを使用します。オペレーティングシステムのメインコピーである必要はありません。Hunsaker)contrib/dict_intおよびcontrib/dict_xsyn内の間違ったコードを修正しました。Lane)一部の関数で、palloc()で返されるメモリはゼロ埋めされていることが保証されていると間違った前提をしていました。pgstatindex()において問い合わせキャンセル割込みを適切に受け付けます。Haas)VPATH構築ですべてのサーバヘッダファイルが適切にインストールされることを確実にしました。Eisentraut)冗長エラーメッセージ内で報告されるファイル名を短くしました。Eisentraut)通常の構築では常にCファイルの名前だけがエラーメッセージ呼び出しの中で報告されました。これまでVPATH構築では絶対パス名が報告されました。中央アメリカ用のWindowsの時間帯名の解釈を修正しました。Time」をCST6CDTではなくCST6に対応付けしました。2011nに更新しました。ブラジル、キューバ、フィジー、パレスチナ、ロシア、サモアにおける夏時間規則の変更、アラスカ、イギリス領東アフリカの歴史的な修正が含まれています。リリース8.3.16。