PostgreSQL 7.3.5 に関する技術情報

このリリースは PostgreSQL 7.3.5 (2003/12/03リリース)に関する技術情報をお届けします。本ドキュメントは PostgreSQL のリリースノートを元に弊社で解説を加えたものです。

PostgreSQL 7.3.5 より旧いバージョンからの変更点

検索結果が正しく無いケースについての修正など、いくつかの問題が修正されています。

注意: ここにあげた変更点は、すべてを網羅していない可能性があります。詳しくはソースに付属の HISTORY というファイルを見てください。

バグ修正

  1. B-Treeを使った検索と、そのインデックスが影響する変更が並列に行われており、なおかつその変更によりB-Treeのroot nodeが分割されるというまれなケースで、正しい検索結果が返らない問題が修正されました。
  2. WALからのリカバリ中には、常にzero_damaged_pagesが設定されるようになりました
  3. 複数の別々の副問い合わせ中に、同一名称で参照される、同一の精度などが異なる型(VARCHAR(10)とVARCHAR(20)など)がある場合、”variable not in subplan target lists”エラーになってしまう問題が修正されました。
  4. stats collectorのプロセスが、強制的に共有メモリから切り離されるようになりました。
  5. PQescapeBytea()とbyteaout()がお互いに一貫した出力を行うようになりました。
  6. ルール
    • ルールによって、newなどのルール実行時に書き換えられる値を使った副問い合わせを正しく実行できない問題が修正されました。
    • ルールによって、INSERT文を書き換えるときに、外部キー制約が働かない問題が修正されました。
  7. pg_dump
    • pg_catalogにある手続き言語を扱えない問題が修正されました。
    • 他のスキーマ上にある演算子を使ったindexのdumpを正しく扱えない問題が修正されました。
    • bytea型と互換性のあるキャストを適切に処理できない問題が修正されました。
  8. clusterdbコマンドからpsqlに間違った順序で引数が渡されるために、正しく実行できない問題が修正されました。
  9. plpythonで作成したトリガーが、登録後にカラムを削除すると動作しなくなる問題が修正されました。
  10. to_char()
    • 入力文字列の終端以降を読んでしまう問題が修正されました。
    • その他、細かい修正があります。
  11. GB18030とUNICODEの間でのエンコーディングのマッピングの誤りが修正されました。
  12. SSLのエラーハンドリングと非同期SSL I/Oについての問題が修正されました。
  13. JDBC
    • ResultSet#setObject() を使って、一つのパラメータに対してsetObject(1,”(‘1′,’2′,’3’)”,Types.NUMERIC)のような形で値リストを渡す事が出来なくなりました。”(1,2,3)”は動作します。これはSQL injectionに利用されるおそれがありました。
  14. timestamp型に64bit integerを利用するconfigureオプションを指定したとき
    • 小数点に対する不適切な取り扱いに関する内部的な問題が修正されました。これには、スタック破壊を引き起こす可能性がありました。
    • 一部で指定しない時と異なる動作となる問題が修正されました。
  15. dblinkのget_tuple_of_interrest()関数の内部でSPI_Finish()が呼ばれていない問題が修正されました。