お問い合わせ
03-5979-2701
PowerGres
リリースノート

PowerGres Plus (Linux 版) 2.1 集約パッチ第 2 版リリースノート

初出
2007 年 5 月 10 日
最終更新
2007 年 5 月 10 日
****************************************************************************
                                修正説明書                                  
----------------------------------------------------------------------------
                修正番号:PGPLUS21D-02                                      
                製品名  :PowerGres Plus                                    
                世代    :V2.1L10                                           
****************************************************************************

Linuxは、Linus Torvaldsの米国およびその他の国おける登録商標あるいは商標
です。

============================================================================

本修正は、問題発生顧客への提供、あるいは重大な問題を未然防止する目的で提供
する修正です。

┌─────────────※修正の適用の前に※────────────┐
│修正適用に際しては、問題発生時の復旧に備え、事前に適用システムのバック│
│アップを取得することを推奨します。                                    │
|                                                                      │
│*動作OS                                                               │
│    Red Hat Enterprise Linux AS (v. 4)                                │
│    Red Hat Enterprise Linux ES (v. 4)                                │
|                                                                      │
│*修正適用前の必要資源                                                 │
│    ダウンロードしたファイルは圧縮データとなっています。              │
│    修正適用前に解凍が必要です。必要なディスク容量は以下のとおりです。│
│      必要ディスク容量:   17MB                                       │
|                                                                      │
│*修正適用時の必要資源                                                 │
│      必要ディスク容量:/usr/local      4KB (増加分)                  │
│                        /var         8852KB                           │
│                                    (増加分:復元のための退避量含む)   │
│      必要メモリ量    :特別なメモリは必要としません。                │
|                                                                      │
│*修正適用時間の目安   : 約 3分 (測定CPU:PentiumIII 866MHz MEM:256MB) │
│  ※修正の適用に必要な大まかな時間です。システム状態や機種により値は、│
│    異なります。また、本時間には、リブート時間は含みません。          │
└───────────────────────────────────┘

  0.修正について(必ずお読みください)

    (1) 修正の提供情報
       ・README.TXT  ・・・実施時の留意事項、製品固有の説明(本書)
       ・update.sh   ・・・修正適用コマンド
       ・backout.sh  ・・・修正復元コマンド
       ・dlib        ・・・修正復元用パッケージ
       ・pef         ・・・修正パッケージ

    (2) 修正適用時の注意事項
       ・修正で提供される修正パッケージは全て適用してください。
        (修正パッケージを選択実施しないでください。動作保証が出来ません)
       ・"(3) 修正適用後の注意事項"に記載されているインデックスの再構成を実
         行する場合、次の点に注意してください。
         インデックスの再構成を行った場合、インデックスのサイズが増加する場
         合があります。これは、業務で追加したデータに対して、後の運用性能を
         考慮してインデックスのサイズを大きめに再作成するためです。
         インデックスの再構成を行う前と同等のサイズのインデックスを作成する
         ためには、以下の式によって算出される値をINDEX_FREE_RATEに指定して、
         インデックスの再構成を再実行してください。(INDEX_FREE_RATEの詳細に
         ついては、"PostgreSQL Plus 管理者ガイド"の"付録A 設定ファイル"を参
         照してください。)

           INDEX_FREE_RATEの算出式 : 100 − (y / x) × (100 - r)

             x : インデックスの再構成実行前のインデックスのサイズ
             y : インデックスの再構成実行後のインデックスのサイズ
             r : インデックスの再構成実行時のINDEX_FREE_RATEの値

         INDEX_FREE_RATEには、0以上99以下の範囲の整数値を指定することができ
         ます。上記の式で算出した値が小数点となった場合、丸めまたは切り上げ
         を行った整数値を指定してください。
         また、上記の式で算出した値が0以下になった場合には、INDEX_FREE_RATE
         に0以上の値を指定してください。0を指定することで、インデックスの再
         構成を実行する前と同等のサイズのインデックスを作成することができま
         す。0より大きな値を指定した場合、インデックスのサイズは大きくなり
         ますが、その後のデータ増加を考慮した運用が可能になります。

    (3) 修正適用後の注意事項
       ・インデックスの再構築
         製品版または製品版にPGPLUS21D-01以前の修正が適用された環境に本修正
         を適用する場合、PG54658の発生条件に該当するインデックスの再構成が必
         要となります。以下の問合せによって得られるインデックスをREINDEXコマ
         ンドにて再構成してください。

         SELECT t2.nspname, t2.indexname FROM
             (SELECT n.nspname AS nspname,
                     c.relname AS tablename,
                     a.attname AS attname
              FROM pg_namespace n, pg_class c, pg_attribute a
              WHERE n.oid = c.relnamespace
              AND c.relkind = 'r'
              AND c.oid = a.attrelid
              AND a.attnotnull = false) t1
         JOIN
             (SELECT n.nspname AS nspname,
                     c.relname AS tablename,
                     ci.relname AS indexname,
                     a.attname AS attname
              FROM pg_namespace n, pg_class c, pg_class ci,
                   pg_index i, pg_attribute a
              WHERE n.oid = c.relnamespace
              AND c.oid = i.indrelid
              AND ci.oid = i.indexrelid
              AND i.indexrelid = a.attrelid) t2
         ON t1.nspname = t2.nspname
         AND t1.tablename = t2.tablename
         AND t1.attname = t2.attname;


  1.修正パッケージ一覧

      esm4pgsql-edmf-2.1-3.i386.rpm
      esm4pgsql-gui-2.1-3.i386.rpm
      pgplus-devel-2.1-3.i386.rpm
      pgplus-develsv-2.1-2.i386.rpm
      pgplus-server-2.1-3.i386.rpm

  2.適用条件

    −  スーパーユーザ(root)の権限で適用してください。
    −  PowerGres Plusのインスタンスが停止している必要があります。


  3.適用方法

      (1) 業務アプリケーションを停止します。

      (2) すべてのインスタンスを停止します。

      (3) スーパーユーザになる。

      (4) 以下のコマンドを実行します。
        ┌──────────────────────────────┐
        │# /etc/init.d/pgxadmin stop <Enter>                         │
        └──────────────────────────────┘

      (5) ダウンロードした修正を解凍します。

          例:# tar zxvf PGPLUS21D-02.tar.gz <Enter>

      (6) 以下の様に入力して適用します。
        ┌───────────────────┐
        │# cd PGPLUS21D-02 <Enter>             │
        │# ./update.sh <Enter>                 │
        └───────────────────┘
          ※修正適用後は、解凍したデータは不要ですので削除してください。

      (7) 以下のコマンドを実行します。
        ┌──────────────────────────────┐
        │# /etc/init.d/pgxadmin start <Enter>                        │
        └──────────────────────────────┘

      (8) スーパーユーザから抜ける。

      (9) すべてのインスタンスを起動します。

      (10) 業務アプリケーションを起動します。


  4.削除方法

      (1) 業務アプリケーションを停止します。

      (2) すべてのインスタンスを停止します。

      (3) スーパーユーザになる。

      (4) 以下のコマンドを実行します。
        ┌──────────────────────────────┐
        │# /etc/init.d/pgxadmin stop <Enter>                         │
        └──────────────────────────────┘

      (5) 以下の様に入力して削除します。
        ┌───────────────────────┐
        │# cd /var/pgplus21/PGPLUS21D-02 <Enter>       │
        │# ./backout.sh <Enter>                        │
        └───────────────────────┘
          ※修正の削除が正常に終了すると、復元のためのバックアップファイルは
            コマンドにより削除されます。

      (6) 以下のコマンドを実行します。
        ┌──────────────────────────────┐
        │# /etc/init.d/pgxadmin start <Enter>                        │
        └──────────────────────────────┘

      (7) スーパーユーザから抜ける。

      (8) すべてのインスタンスを起動します。

      (9) 業務アプリケーションを起動します。


  5.その他の留意事項

    1)  適用コマンド(update.sh)ではファイルシステムの空き領域のチェックを行 
        っていないため、事前に空き領域の確認を行ってください。


  6.修正内容

─┼────────┼───────────────────────────
No│修正番号        │修正内容                                              
─┼────────┼───────────────────────────
01│PGPLUS21D-01    │以下の条件のとき、バックエンドプロセスが一時的に大量の
  │(PG50877)       │メモリを消費する。
  │                │1) CREATE INDEXコマンドにより、部分インデックスを定義
  │                │する。または、
  │                │2) REINDEXコマンドにより、部分インデックスを再構築す
  │                │る。または、
  │                │3) CLUSTERコマンドにより、部分インデックスが定義された
  │                │テーブルのクラスタ化を実行する。
  │                │4) 高速コピー機能により、部分インデックスが定義された
  │                │テーブルに対し、データを格納する。
─┼────────┼───────────────────────────
02│PGPLUS21D-02    │以下の条件のとき、次のような検索結果異常や処理結果異常
  │(PG54658)       │が発生する場合がある。
  │                │・本来よりも件数が多い結果
  │                │・GROUP BYにより正しくグループに分割されない結果
  │                │・ORDER BYにより正しく整列されない結果
  │                │・DISTINCTまたはDISTINCT ONにより正しく重複行が排除さ
  │                │  れない結果
  │                │・CLUSTERコマンドの実行によるテーブルの行数の不当な増
  │                │  加
  │                │・CLUSTERコマンドの実行による不当な一意性制約違反
  │                │1) 以下のいずれかの処理を実行する。
  │                │   1-1) NULL値が格納されたテーブルの列に対し、インデッ
  │                │        クスを定義する。または、
  │                │   1-2) NULL値が格納されたテーブルの列に定義されたイン
  │                │        デックスを再構築する。または、
  │                │   1-3) インデックスが定義されたテーブルの列に対し、高
  │                │        速コピー機能によりNULL値を格納する。または、
  │                │   1-4) NULL値が格納されたテーブルの列にインデックスが
  │                │        定義されている場合
  │                │        に、高速コピー機能により、当該テーブルに任意の
  │                │        データを格納する。
  │                │   かつ、
  │                │2) 1)の実行後、以下のいずれかの処理を実行する。
  │                │   2-1) DELETEコマンドにより、当該テーブルの当該インデ
  │                │        ックスが定義されている列にNULL値が格納されてい
  │                │        る行を削除する。または、
  │                │   2-2) UPDATEコマンドにより、当該テーブルの当該インデ
  │                │        ックスが定義されている列にNULL値が格納されてい
  │                │        る行を更新する。
  │                │   かつ、
  │                │3) 2)の実行後、以下のいずれかの処理を実行する。
  │                │   3-1) INSERTコマンドにより、当該テーブルに行を挿入す
  │                │        る。または、
  │                │   3-2) 高速コピーでない通常のCOPYコマンドにより、当該
  │                │        テーブルに行を格納する。または、
  │                │   3-3) UPDATEコマンドにより、当該テーブルの行を更新す
  │                │        る。
  │                │   かつ、
  │                │4) 3)の実行後、以下のいずれかの処理を実行する。
  │                │   4-1) 当該インデックスが定義された列をGROUP BY句に指
  │                │        定した問合せを実行する。または、
  │                │   4-2) 当該インデックスが定義された列をORDER BY句に指
  │                │        定した問合せを実行する。または、
  │                │   4-3) 当該インデックスが定義された列を結合条件として
  │                │        指定し、テーブルの結合処理を伴う問合せを実行す
  │                │        る。または、
  │                │   4-4) DISTINCT句またはDISTINCT ON句に当該インデック
  │                │        スが定義された列を指定した問合せを実行する。ま
  │                │        たは、
  │                │   4-5) 当該インデックスを使用してCLUSTERコマンドを実
  │                │        行する。
─┼────────┼───────────────────────────

                                                                −  以上  −