PostgreSQL 8.0.17 に関する技術情報

このリリースは 8.0.15 からの修正リリース(2008/06/12リリース)です。
本ドキュメントは PostgreSQL のリリースノートを基に作成しています。
8.0.x からのアップデートではダンプ、リストアは不要です。

しかし、8.0.6 より前のバージョンからアップグレードする場合は、8.0.6 に関する技術情報を参照してください。

PostgreSQL 8.0.15 から 8.0.17 への変更点


  1. 新しい列が非NULLで初期化されているかどうか正しく検査されるようにALTER TABLE ADD COLUMN … PRIMARY KEYを修正しました (Brendan Jurd)

    以前のバージョンでは、まったくこの必要条件を検査していませんでした

  2. 共通の先祖から制約を継承した親リレーションから、”同じ”制約を継承しているときにCREATE TABLEが失敗する可能性を修正しました (Tom)
  3. キリル語の”Yo”文字(2つの点を持つeとE)を扱うISO-8859-5とその他のエンコーディング間の変換を修正しました (Sergey Burladyan)
  4. 結果として未初期化、予期できない値を含む未使用のバイトを許すいくつかのデータ型入力関数を修正しました (Tom)

    これは、2つの外見上まったく同じ値が等しく認知されず、一致しなかったORDER BYとDISTINCT式についてパーサエラーとなる可能性がありました。

  5. 正規表現の部分文字列一致での境界問題を修正しました (Tom)

    この問題は、パターン全体は一致するが、ユーザがカッコに入れた副式を指定し、その副式が一致するときに問題が起きます。たとえば、substring(‘foo’ from ‘foo(bar)?’)です。これは、(bar)が一致しないのでNULLを返すべきですが、誤ってパターン全体が一致(つまりfoo)と返していました。

  6. タイムゾーンデータファイルをtzdataリリース2008c
    (モナコ、イラク、チョイバルサン、パキスタン、シリア、キューバ、アルゼンチン/サンルイス、チリ、における昼時間規則の変更)に更新しました。
  7. ecpgのPGTYPEStimestamp_sub()関数からの不正な結果を修正しました (Michael)
  8. 入力問い合わせがNULL値を返すときのcontrib/xml2’s xpath_table()関数のコアダンプを修正しました (Tom)
  9. contrib/xml2のmakefileがCFLAGSを上書きしないように修正 (Tom)
  10. gcc 4.3でDatumGetBoolマクロが失敗しないように修正しました (Tom)

    この問題は、booleanを返す”古い形式”のC関数に影響します。8.3ではすでに修正されていますが、当時気付いていなかったバックパッチが必要となりました。

  11. 長い間修正されていなかった “LISTEN” と “NOTIFY” の競合問題を修正しました (Tom)

    稀なケースで “LISTEN” を実行したばかりのセッションが、受け取るべき通知を受け取れない可能性がありました。
    これは並列に実行されているトランザクションで実行された “NOTIFY” が遅れてコミットされていたことによります。

  12. プリペアドトランザクション内での “LISTEN” と “UNLISTEN” を拒否するようにしました (Tom)

    今までこれらの動作は許可されていましたが、起点となるバックエンドが”UNLISTEN” がコミットされない限り終了できないなど、いくつかの望まれない結果を招いていました。

  13. ハッシュインデックスを使うクエリでエラーが発生すると稀にクラッシュする問題を修正しました (Heikki)
  14. 紀元前の閏日の日付時間型入力を修正しました (Tom)

    以前のコードは閏年の判定に誤りがありました。

  15. “ALTER OWNER” 関連における “unrecognized node type” エラーを修正しました (Tom)
  16. pg_ctl がコマンドラインオプションから postmaster のポート番号を正しく抽出できるように修正しました (Itagaki Takahiro, Tom)

    以前は「pg_ctl start -w」を実行すると異なるポート番号の postmaster に接続しようとし、誤った起動失敗のエラーが表示される可能性がありました。

  17. 最近の gcc バージョンで誤った最適化が行われないように “-fwrapv” を使うようにしました (Tom)

    これは PostgreSQL を gcc 4.3 以降でビルドするときに必要となります。

  18. ORDER BY と GROUP BY における定数式の出力を修正しました (Tom)

    明示的に型変換された定数が間違って表示されていました。例えばこれは、ビューの定義がダンプ/リストアで破壊されてしまいます。

  19. libpq が COPY OUT 中に NOTICE メッセージを正しく処理できるように修正しました (Tom)

    これはユーザー定義データ型の出力処理が NOTICE を発行した場合にのみ発生することが確認されていますが、それ以外の原因で発生しないという保証はありません。

  20. pg_get_ruledef()において、負の定数を括弧でくくるようにしました (Tom)この修正の前は、ビューまたはルールにおいて-42::integerのような微妙に正しくない負の定数がダンプされる可能性がありました。これは、演算子優先規則により(-42)::integerとするべきです。通常、これは大差ありませんが、他の最近のパッチと相互作用して、PostgreSQLが正しいSELECT DISTINCTビューの問い合わせを拒絶する可能性がありました。これは、pg_dumpの出力がリロードに失敗するという結果になる可能性があるため、高い優先度の修正として扱われました。実際にダンプ出力が不正になるリリースバージョンは8.3.1と8.2.7のみです