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

PowerGres Plus (Windows 版) 2.0 集約パッチ第 6 版リリースノート

初出
2007 年 5 月 10 日
最終更新
2007 年 5 月 10 日
PowerGres Plus 修正モジュール適用ガイド

■ はじめに
 本書は、PowerGres Plus の修正モジュールの適用ガイドです。


■ 対象製品
 PowerGres Plus V2.0


■ 修正番号
 PGPLUS20-WIN-06


■ 適用手順
 修正モジュールの適用手順を示します。

1)インスタンスを停止します。
 すべてのインスタンスに対して行ってください。
 
2)修正モジュール適用プログラムを起動します。
 以下の作業をAdministrators権限を持つユーザ(Administratorsグループに属する
 ユーザIDを持つ)で実行してください。
 PowerGres Plusフォルダの、setup.exeを起動してください。
 修正が適用されます。

修正適用時の留意事項
− 修正適用時は、すべてのアプリケーションを停止してください。
− 修正適用中に、キャンセルを選択しないでください。
− "(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より大きな値を指
   定した場合、インデックスのサイズは大きくなりますが、その後のデータ増加を
   考慮した運用が可能になります。


■ 適用後の作業

1)タイムゾーンの設定
 
 サーバ実行パラメタtimezoneに適切な値を設定する必要があります。
  以下の手順でタイムゾーンを設定します。

 1.インスタンスを格納するディレクトリの postgresql.conf 内から
  timezone 構成パラメータが設定されているかどうかを確認します。

 2.設定されていない場合、以下の記述を追加します。

  timezone = Japan

  「Tokyo/Japan」や「JST」をセットしても構いません。動作は同じです。

2)インデックスの再構成

  PGPLUS20-WIN-01を適用していない環境に本修正モジュールを適用する場合、
  以下の手順でインデックスを再構成してください。

 1.numeric型のカラムにインデックスが設定されている場合、REINDEXコマンド
  により、インデックスを再構成してください。

      以下のSQLコマンドを実行します。

        ┌──────────────────────────────┐
        │REINDEX INDEX numeric型のカラムのインデックス名;            │
        └──────────────────────────────┘

      なお、numeric型のカラムのインデックス名は、以下のようなSQLコマンド
      で参照可能です。

        ┌──────────────────────────────┐
        │SELECT n.nspname, c.relname, a.attname, t.typname           │
        │FROM pg_namespace n, pg_class c, pg_attribute a, pg_type t  │
        │WHERE n.oid = c.relnamespace AND                            │
        │c.relkind = 'i'AND                                          │
        │c.oid = a.attrelid AND                                      │
        │a.atttypid = t.oid AND                                      │
        │t.typname = 'numeric';                                      │
        └──────────────────────────────┘

3)セキュリティ問題の修正

  PGPLUS20-WIN-02版より、ベースとして使用するPostgreSQLのバージョンが、7.4.8
  になりました。PostgreSQL 7.4.8では、以下のセキュリティ問題の対応が行われて
  います。

  権限のないユーザが、組込みの符号化変換関数をSQLのコマンドから直接呼び出す
  ことができ、これらの関数の引数に悪意のある値が指定された場合の安全性に問題
  がありました。

  修正モジュールの適用後に、インスタンス管理者の権限で以下を実行してください。
  これにより、セキュリティ問題を取り除くことができます。

  インスタンスが複数存在する場合は、インスタンスごとに以下の手順を実行してく
  ださい。

  1. template0以外のすべてのデータベースで、以下の手続きを実行します。

     BEGIN;
     UPDATE pg_proc SET proargtypes[3] = 'internal'::regtype
     WHERE pronamespace = 11 AND pronargs = 5
           AND proargtypes[2] = 'cstring'::regtype;
     COMMIT;

     上記のUPDATEコマンドにより90行が更新されます。結果が異なる場合は、コミッ
     トの代わりにロールバックを実行し、原因を調査してください。

  2. template1データベースで、以下の手続きを実行します。
            
     UPDATE pg_database SET datallowconn = true WHERE datname = 'template0';

  3. template0で、手順1に示した手続きを実行します。

  4. template1データベースで、以下の手続きを実行します。

     UPDATE pg_database SET datallowconn = false WHERE datname = 'template0';

4) CREATE CONVERSIONコマンドについてのマニュアル修正

   PostgreSQL 7.4.8では、上記のセキュリティ問題の対応に伴い、"PostgreSQL 7.4
   文書"の". リファレンス − . SQLコマンド"に記載されているCREATE CONVERSION
   コマンドの記事が修正されています。PowerGres Plusに付属するマニュアルは、
   修正モジュールの適用によって修正されないため、PostgreSQL 7.4.8で行われた
   マニュアル修正の内容については、以下の記事を参考にしてください。

   PostgreSQL 7.4.8から、CREATE CONVERSIONコマンドのパラメータに指定する符号
   化変換関数の形式が変更されています。CREATE CONVERSIONコマンドのパラメータ
   には、以下の形式の符号化変換関数を指定する必要があります。

  conv_proc(
      integer,  -- 変換元符号化方式ID
      integer,  -- 変換先符号化方式ID
      cstring,  -- 変換元文字列(ヌルで終るC言語文字列)
        internal,  -- 変換先文字列(ヌルで埋められたC言語文字列)
      integer   -- 変換元文字列長
  ) RETURNS void;    

5) 式に対するインデックスおよび部分インデックスの再構築

   製品版または、製品版にPGPLUS20-WIN-03以前の修正が適用された環境に本修正
   を適用する場合で、式に対するインデックスまたは部分インデックスを定義し
   ている場合、REINDEXコマンドにより、それらを再構築してください。

   式に対するインデックスの名前は、以下の問い合わせにより参照可能です。

   SELECT n.nspname, c.relname
   FROM pg_namespace n, pg_class c, pg_index i
   WHERE n.oid = c.relnamespace
   AND c.oid = i.indexrelid
   AND i.indexprs IS NOT NULL;

   部分インデックスの名前は、以下の問い合わせにより参照可能です。

   SELECT n.nspname, c.relname
   FROM pg_namespace n, pg_class c, pg_index i
   WHERE n.oid = c.relnamespace
   AND c.oid = i.indexrelid
   AND i.indpred IS NOT NULL;

6) インデックスの再構成

   製品版または製品版にPGPLUS20-WIN-05以前の修正が適用された環境に本修正を適
   用する場合、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) 適用プログラム(setup.exe)では、ファイルシステムの空き領域チェックを行って
   いないため、事前に空き領域の確認を行ってください。


■ 修正内容

─┼────────┼───────────────────────────
No│修正番号(P番号) │修正内容(または、障害内容)
─┼────────┼───────────────────────────
 1│PGPLUS20-WIN-01 │ベースとなる PostgreSQL のバージョンが、7.4.3 から 
  │                │7.4.7 になりました。 
─┼────────┼───────────────────────────
 2│PGPLUS20-WIN-01 │複数のクライアントがサーバに接続したまま SQL 文を何度
  │                │も実行しているとpostmasterのメモリ使用量が増え続けてい
  │                │く不具合を修正しました。
─┼────────┼───────────────────────────
 3│PGPLUS20-WIN-01 │クライアントコマンドのオプションで "--xxx" 形式のオプ
  │                │ションに引数が必須なもの(--host など)に対して引数を渡
  │                │さない場合、コマンドが異常終了する不具合を修正しました
  │                │。
─┼────────┼───────────────────────────
 4│PGPLUS20-WIN-01 │クライアントからロケール(lc_message,lc_monetary,
  │                │lc_numeric,lc_time)を変更した場合、時として postmaster
  │                │が異常終了する不具合を修正しました。
─┼────────┼───────────────────────────
 5│PGPLUS20-WIN-01 │複数のクライアントから同時に PL/pgSQL 関数を実行した場
  │                │合に時として異常終了する不具合を修正しました。
─┼────────┼───────────────────────────
 6│PGPLUS20-WIN-01 │サービスプログラムが powergres.log にログを書き出すの
  │                │を失敗した際に サービスプログラムが異常終了する不具合
  │                │を修正しました。なお、powergres.log へログの書き出しが
  │                │失敗した場合は、pgservice.log にその時刻と原因を記録し
  │                │ます。
─┼────────┼───────────────────────────
 7│PGPLUS20-WIN-01 │インスタンスサービス起動中に
  │                │「could not open PGPlusService.log」、
  │                │「could not write PGPlusService.log」、
  │                │「could not write powergres.log」のいずれかのメッセー
  │                │ジがイベントログに出力され、インスタンスサービスが停止
  │                │する場合がある不具合を修正しました。
─┼────────┼───────────────────────────
 8│PGPLUS20-WIN-01 │numeric型を含む2個以上のカラムをインデックスとして定
  │                │義している場合、numeric型カラムより後ろに定義されたカ
  │                │ラムに対する条件式が正しく評価されず、SQL文の結果が正
  │                │しく得られない不具合を修正しました。
─┼────────┼───────────────────────────
 9│PGPLUS20-WIN-01 │timestamp with time zone型のカラムに対する検索条件を含
  │                │んだ処理を実行すると正しい結果が得られない場合がある不
  │                │具合を修正しました。
─┼────────┼───────────────────────────
10│PGPLUS20-WIN-01 │pgx_dmpallコマンドにアクセス禁止状態の資源を検出する機
  │                │能を追加しました。
─┼────────┼───────────────────────────
11│PGPLUS20-WIN-02 │ベースとなる PostgreSQL のバージョンが、7.4.8になりま
  │(PG41761)       │した。
─┼────────┼───────────────────────────
12│PGPLUS20-WIN-02 │以下の条件に一致する場合、システムがダウンする場合があ
  │(PG40230)       │る。
  │                │  1) bytea型、bit型、varbit型、inet型、cidr型のいずれ
  │                │   かのデータ型のカラムを含んだテーブルを定義する。
  │                │   かつ、
  │                │  2) 当該テーブルに対して、以下のいずれかの処理を実行
  │                │   する。
  │                │    2-1) 当該カラムを2列目以降に含む複数列インデック
  │                │       スを定義する。または、
  │                │    2-2) 当該カラムを2列目以降に含む複数列インデック
  │                │       スの定義後に、高速コピー機能により、ファイルか
  │                │       らデータのコピーを実行する。または、
  │                │    2-3) 当該カラムを2列目以降に含む複数列インデック
  │                │       スの定義後に、行の挿入処理を実行する。または、
  │                │    2-4) 当該カラムを2列目以降に含む複数列インデック
  │                │       スの定義後に、当該テーブルの行の更新処理を実行
  │                │       する。または、
  │                │    2-5) 当該カラムを2列目以降に含む複数列インデック
  │                │       スの定義後に、検索条件として、複数列インデック
  │                │       スにおいて当該カラム以前の列として定義されてい
  │                │       るすべての列に対する条件を含む検索処理を実行す
  │                │       る。
─┼────────┼───────────────────────────
13│PGPLUS20-WIN-02 │サーバプログラミングにおいて、C言語で作成したユーザ定
  │(PG39613)       │義の関数をコンパイルすると、インクルードファイルが存在
  │                │しないという旨のコンパイルエラーが発生し、プログラムを
  │                │作成することができない。
─┼────────┼───────────────────────────
14│PGPLUS20-WIN-02 │以下の条件のとき、テーブルに対する処理が正しく行われな
  │(PG41763)       │い場合がある。
  │                │1) 複数の列を持つテーブルを定義している。かつ、
  │                │2) 列の一部がNULL値であるような行を当該テーブルが持つ
  │                │ 。かつ、
  │                │3) 以下のいずれかの処理を実行する。
  │                │   3-1) 当該テーブルに対して、当該行のNULL値を持つ列お
  │                │        よびNULL値以外の値を持つ列を含む、複数列の一意
  │                │        インデックスを作成する。または、
  │                │   3-2) 当該テーブルに対して、3-1と同じ条件の複数列の
  │                │        一意インデックスの作成後、インデックスが作成さ
  │                │        れた複数列のうち、当該行のNULL値を持つ列が同じ
  │                │        くNULL値を持ち、それ以外の列については当該行の
  │                │        それぞれの列と等しい値を持つ行を、コピー機能に
  │                │        よりファイルからテーブルにコピーする。または、
  │                │   3-3) 当該テーブルに対して、3-1と同じ条件の複数列の
  │                │        一意インデックスの作成後、インデックスが作成さ
  │                │        れた複数列のうち、当該行のNULL値を持つ列が同じ
  │                │        くNULL値を持ち、それ以外の列については当該行の
  │                │        それぞれの列と等しい値を持つ行を、テーブルに挿
  │                │        入する。または、
  │                │   3-4) 当該テーブルに対して、3-1と同じ条件の複数列の
  │                │        一意インデックスの作成後、インデックスが作成さ
  │                │        れた複数列のうち、当該行のNULL値を持つ列が同じ
  │                │        くNULL値を持ち、それ以外の列については当該行の
  │                │        それぞれの列と等しい値を持つ行で、テーブルを更
  │                │        新する。
─┼────────┼───────────────────────────
15│PGPLUS20-WIN-02 │複数のクライアントから接続と切断要求が同時に発生した場
  │(PG41761)       │合、postmasterが異常終了する場合がある。
─┼────────┼───────────────────────────
16│PGPLUS20-WIN-02 │PowerGres Plusマニュアルビューアを起動し、終了すると、
  │(PG40315)       │以下の条件に合致するファイルが不当に削除される。
  │                │  1) PowerGres Plusをインストールしたフォルダのあるド
  │                │   ライブの直下に配置されている。かつ、
  │                │  2) ファイル名の拡張子に"txt"の文字列を含んでいる。
  │                │   (*.txtと*.txt*)
─┼────────┼───────────────────────────
17│PGPLUS20-WIN-02 │以下の条件のときに、エラーメッセージから原因を特定でき
  │(PG38374)       │ず、問題を解決できない。
  │                │  1) OSによるディスクに対するI/O処理において、ハードウ
  │                │   ェア、デバイスドライバまたはOSが誤動作する。かつ、
  │                │  2) OSのシステムコールが不正な情報を返却する。このよ
  │                │   うな状況の例として、次のものがある。
  │                │  2-1) システムコールが失敗したにもかかわらず、errnoの
  │                │     値は0となっており、失敗の原因がerrnoに設定されて
  │                │     いない。
  │                │  2-2) ディスクから読み出した内容が誤っており、前回デ
  │                │     ィスクに書き出した内容と異なってしまっている。
─┼────────┼───────────────────────────
18│PGPLUS20-WIN-02 │以下の条件を満たす場合、PostgreSQL Plus Administrator 
  │(PG39581)       │の「データベースのバックアップ」を実行すると、エラーメ
  │                │ッセージが表示されず、かつ、「データベースのバックアッ
  │                │プ」画面のバックアップ状況が更新されない場合がある。
  │                │そのため、利用者にバックアップがエラーになったことがわ
  │                │からない。
  │                │  1) 以下のいずれかの条件を満たしている。
  │                │    a) データベースにアクセス禁止状態の資源が存在する
  │                │    b) メモリ不足が発生している
  │                │    c) バックアップディレクトリを配置したディスクが枯
  │                │     渇している
  │                │    d) インスタンスディレクトリを配置したディスクが破
  │                │     壊されている
─┼────────┼───────────────────────────
19│PGPLUS20-WIN-02 │以下の条件を満たす場合、条件1)、条件2)の後に、
  │(PG40310)       │pgx_rcvall コマンドを実行すると、以下のメッセージを出
  │                │力して異常終了する。
  │                │
  │                │pgx_rcvall could not recovery
  │                │No backup files exist in the directory:(バックアップデ
  │                │ィレクトリ)
  │                │Please specify a backup directory correctly adn try 
  │                │again.
  │                │pgx_rcvall failed.
  │                │
  │                │  1) 以下の A、B いずれかの条件を満たしている。
  │                │    A) インスタンス管理者のクライアント認証方式を 
  │                │     trust 以外に設定している場合
  │                │    B) max_connections で設定した最大数分のアプリケー
  │                │     ションをデータベースサーバに接続している場合
  │                │  かつ、
  │                │  2) 条件1)の状態で、pgx_dmpallコマンド、または、
  │                │   PostgreSQL Plus Administrator の「データベースのバ
  │                │   ックアップ」の実行が、アクセス禁止状態の資源が存在
  │                │   しているために異常終了する。
  │                │   このときに出力されるメッセージは以下のとおりである
  │                │   。
  │                │     ERROR:qdg13155u: 資源's*'はアクセス禁止状態です
  │                │
  │                │ただし、条件2)のエラー事象の発生後に、以下の条件を満た
  │                │す場合には、本障害は発生しない。
  │                │
  │                │  イ)条件2)で検出したアクセス禁止状態の資源がテーブル
  │                │    、または、インデックスのいずれかである。
  │                │  かつ、
  │                │  ロ) 条件2)で検出したアクセス禁止状態の資源に対して
  │                │    、以下のいずれかの操作により、アクセス禁止状態を解
  │                │    除している。
  │                │      a) TRUNCATE コマンド
  │                │      b) REINDEX コマンド
  │                │      c) DROP コマンド
  │                │  かつ、
  │                │  ハ)ロ)の実行後に、pgx_dmpallコマンド、または、
  │                │    PostgreSQL Plus Administrator からのバックアップの
  │                │    実行が、正常に終了している。
─┼────────┼───────────────────────────
20│PGPLUS20-WIN-02 │以下の条件を満たす場合に、pgx_rcvallコマンドを実行する
  │(PG40833)       │と、PostgreSQL Plus Administrator の「データベースの詳
  │                │細設定」で変更した内容が、 変更前の内容に戻ってしまう
  │                │。
  │                │  1-1) 以下のいずれかの条件を満たしている。
  │                │     a) バックアップディレクトリを配置したディスクが枯
  │                │      渇している。
  │                │     b) メモリ不足が発生している。
  │                │  かつ、
  │                │  1-2)条件1-1)の状態で、PostgreSQL Plus Administrator
  │                │     の「データベースの詳細設定」で、以下のいずれかの
  │                │     変更が正常に終了している。
  │                │     a) 「文字コードとロケールの変更」
  │                │     b) 「アプリケーションとの通信の設定」
  │                │     c) 「SQLオプション」
  │                │     d) 「使用メモリの変更」
  │                │  または、
  │                │  2) PostgreSQL Plus Administrator の 「データベースの
  │                │   詳細設定」の「テンポラリログ量の変更」の設定値の変
  │                │   更が正常に終了している。
  │                │  かつ、
  │                │  3) 1-2) または、2)の操作後、以下のいずれかの操作を実
  │                │   行していない。
  │                │     A) PostgreSQL Plus Administrator から「データベー
  │                │      スのバックアップ」
  │                │     B) バックアップコマンド (pgx_dmpall)
  │                │     C) バックアップコマンド (pgx_dmpall -c)
─┼────────┼───────────────────────────
21│PGPLUS20-WIN-02 │以下の条件の場合に、PostgreSQL Plus Administratorが下
  │(PG39704)       │記のエラーメッセージをダイアログで表示し、ログイン前の
  │                │画面に戻ってしまうことがある。以降ログインすることがで
  │                │きず、誤って指定した設定情報を修正することができない。
  │                │・ エラーメッセージ
  │                │  1: 処理中にエラーが発生しました。しばらくして再度実
  │                │  行してください。改善されない場合はPostgreSQL Plusの
  │                │  実行環境が壊れている可能性があります。再度環境構築を
  │                │  行ってください。以下に詳細情報が表示されている場合、
  │                │  それに従って対処して下さい。 
  │                │・ 条件
  │                │  1. pgx_setupでデータベースのバッファサイズに、実際に
  │                │    は獲得できない大きさのサイズを指定して実行している
  │                │  。かつ、
  │                │  2. Administratorを起動してログインしている。
  │                │  または、
  │                │  1. Administratorでデータベースのバッファサイズに、実
  │                │    際には 獲得できない大きさのサイズを指定し、確定し
  │                │    ている。
  │                │  かつ、
  │                │  2. Administratorを終了し、Administratorを再起動して
  │                │    ログインしている。
  │                │  または、
  │                │  1. Administratorでデータベースのアーカイブログファイ
  │                │    ルのサイズを大きく変更し、変更処理中にエラーが発生
  │                │    している。
  │                │  かつ、
  │                │  2. Administratorを終了し、Administratorを再起動して
  │                │    ログインしている。
─┼────────┼───────────────────────────
22│PGPLUS20-WIN-02 │以下の条件の場合に、PowerGres Plus Administratorの起動
  │(PG41466)       │に数秒程度の時間がかかることがある。
  │                │  −  PowerGres Plusをインストールした後に初めて
  │                │    Administratorを起動している
─┼────────┼───────────────────────────
23│PGPLUS20-WIN-02 │以下の条件において、Administratorが、下記の不当なエラ
  │(PG40446)       │ーを画面に表示する場合がある。(本現象は、不当なエラー
  │                │が画面に表示されるが、バックアップは続行される。)
  │                │  Http - 500 - InternalError
  │                │
  │                │  1) Administratorで「データベースのバックアップ」メニ
  │                │    ューから「バックアップ」をクリックして、バックアッ
  │                │    プを実行している。
  │                │  かつ、
  │                │  2) 1)のバックアップ中に表示される「表示更新」ボタン
  │                │    をクリックしている。
  │                │  または、
  │                │  1) Administratorで「データベースの詳細設定」メニュー
  │                │    から以下のいずれかをクリックして、設定を変更してい
  │                │    る。
  │                │     − 「文字コードとロケールの変更」
  │                │     − 「バックアップの設定」
  │                │     − 「テンポラリログ量の変更」
  │                │     − 「アプリケーションとの通信の設定」
  │                │     − 「SQLオプション」
  │                │     − 「使用メモリの変更」
  │                │  かつ、
  │                │  2) 1)の後、「データベースのバックアップ」メニューを
  │                │    クリックし、「表示更新」ボタンをクリックしている。
─┼────────┼───────────────────────────
24│PGPLUS20-WIN-02 │以下の条件の時、nextval関数を使用して次回値を取得する
  │(PG42384)       │場合、または、連番型のデータ型を定義しているテーブルに
  │                │対してinsert文またはcopy文を実行する場合、シーケンスが
  │                │限界値に達していないのに、限界値に達したとのエラーとな
  │                │る場合がある。
  │                │
  │                │本現象が発生した場合には、次のエラーメッセージが出力さ
  │                │れる。
  │                │昇順のシーケンスの場合:
  │                │ "ERROR: シーケンス名.nextval: reached MAXVALUE (最大値)"
  │                │降順のシーケンスの場合:
  │                │ "ERROR: シーケンス名.nextval: reached MINVALUE (最小値)"
  │                │エラーメッセージ中のシーケンス名、最大値、最小値には、
  │                │以下の値が出力されます。
  │                │ シーケンス名:処理対象のシーケンス名
  │                │ 最大値:処理対象のシーケンスの最大値
  │                │ 最小値:処理対象のシーケンスの最小値
  │                │
  │                │1)  シーケンスがサイクリックに使用されない定義となって
  │                │  いる。かつ、 
  │                │2)  シーケンスの現最終値から限界値までで、生成可能なシ
  │                │  ーケンス値の個数が33以下になっている。かつ、
  │                │3)  以下のいずれかの条件を満たす。
  │                │  3-1)  データベース接続後、初めて処理するシーケンスで
  │                │      ある。または、
  │                │  3-2)  シーケンスの現在値設定(setval関数実行)後に初め
  │                │      て処理するシーケンスである。または、
  │                │  3-3)  シーケンスの定義変更(ALTER SEQUENCE文実行)後に
  │                │      初めて処理するシーケンスである。
─┼────────┼───────────────────────────
25│PGPLUS20-WIN-02 │以下の条件のとき、正しい結果が得られない(結果件数が多
  │(PG41511)       │くなる)場合がある。
  │                │  1) 複数の列を持つテーブルを定義している。かつ、
  │                │  2) 当該テーブルに対して、複数列インデックスを定義し
  │                │   ている。かつ、
  │                │  3) 当該インデックスの2列目以降にNULL値を持つ行が当該
  │                │   テーブルに格納されている。かつ、
  │                │  4) 当該インデックスが定義された列のうち、当該行の
  │                │   NULL値を持つ列以前のすべての列に対して、検索条件が
  │                │   指定されている。かつ、
  │                │  5) 当該インデックスが定義された列のうち、当該行の
  │                │   NULL値を持つ列より前のいずれかの列に、=およびINを使
  │                │   用した検索条件が指定されていない列がある。かつ、
  │                │  6) 当該行のNULL値を持つ列に対する検索条件に、ある値
  │                │   よりは小さい、および、ある値以下という条件が指定さ
  │                │   れていない。
─┼────────┼───────────────────────────
26│PGPLUS20-WIN-02 │以下の条件のときに、エラーメッセージから原因を特定でき
  │(PG43934)       │ず、問題を解決できない。
  │                │1) OSによるディスクに対するI/O処理において、ハードウェ
  │                │   ア、デバイスドライバまたはOSが誤動作する。かつ、
  │                │2) OSのシステムコールが不正な情報を返却する。このよう
  │                │   な状況の例として、システムコールが失敗したにもかか
  │                │   わらずerrnoの値は0となっており、失敗の原因がerrnoに
  │                │   設定されていない場合がある。
─┼────────┼───────────────────────────
27│PGPLUS20-WIN-03 │システムを無停止で運用を続けていると、データベースへの
  │(PG44168)       │アクセス性能が劣化することがある。
─┼────────┼───────────────────────────
28│PGPLUS20-WIN-04 │リカバリ時に使用する一時ファイルで容量不足が発生した場
  │(PG43552)       │合、pgx_rcvallコマンドが異常終了し対処が不明瞭なエラー
  │                │メッセージが出力される。
─┼────────┼───────────────────────────
29│PGPLUS20-WIN-04 │ディスク容量が不足した状態でリカバリを行った場合に、
  │(PG43562)       │pgx_rcvallコマンドが異常終了し対処が不明瞭なエラーメッ
  │                │セージが出力される場合がある。
─┼────────┼───────────────────────────
30│PGPLUS20-WIN-04 │以下の条件のときに、PostgreSQL Plusサーバが停止し、再
  │(PG43848)       │起動が必要となる。
  │                │  (1)  シーケンスを、定義したトランザクションとは異な
  │                │     るトランザクションで削除した。かつ、
  │                │  (2)  そのトランザクションでシーケンスの削除後に、以
  │                │     下のシステムカタログのいずれかを検索した。
  │                │       ・pgx_sequences
  │                │       ・pgx_tables
  │                │       ・pgx_indexes
─┼────────┼───────────────────────────
31│PGPLUS20-WIN-04 │(1) 式に対するインデックスが定義されているテーブルから
  │(PG45646)       │    、行を削除すると、バックエンドプロセスがダウンする
  │                │    。
  │                │(2) 式に対するインデックスが定義されているテーブルの行
  │                │    が更新されている場合、その後の処理によって、以下の
  │                │    ようなさまざまな現象が発生する場合がある。
  │                │  (2-1) バックエンドプロセスのダウン
  │                │  (2-2) 検索結果異常
  │                │  (2-3) テーブル内に格納される行の不当な増加
  │                │  (2-4) 指定した条件を満足しない行の更新
  │                │(3) 一意性制約を持った式に対するインデックスが定義され
  │                │    ているテーブルの行が更新されている場合、その後の処
  │                │    理によって、不当な一意性制約違反が発生する場合があ
  │                │    る。 
─┼────────┼───────────────────────────
32│PGPLUS20-WIN-04 │以下の条件のとき、本来は正常に終了するはずの操作が一意
  │(PG45647)       │性制約違反によりエラーとなる場合がある。
  │                │1) テーブルを作成する。かつ、
  │                │2) 次のいずれかの操作を実行する。
  │                │  2-1) 一意性制約を持った部分インデックスを当該テーブ
  │                │       ルに定義する。または、
  │                │  2-2) 一意性制約を持った部分インデックスを当該テーブ
  │                │       ルに定義した後に、REINDEXコマンドにより当該イン
  │                │       デックスの再構築を行う。または、
  │                │  2-3) 一意性制約を持った部分インデックスを当該テーブ
  │                │       ルに定義した後に、高速コピー機能により当該テー
  │                │       ブルにデータを格納する。
─┼────────┼───────────────────────────
33│PGPLUS20-WIN-04 │以下の条件のとき、SQLコマンドが異常終了する場合がある
  │(PG45648)       │。
  │                │1) シーケンスを定義する。かつ、
  │                │2) 以下のいずれかの操作を実行する。
  │                │  2-1) 当該シーケンスに対して、結合を伴う問い合わせを
  │                │       行う。または、
  │                │  2-2) 当該シーケンスを参照し、かつ、トランザクション
  │                │       を跨るカーソルを定義し、トランザクションを(暗黙
  │                │       的または明示的に)コミットする。または、
  │                │  2-3) トランザクションブロック内で当該シーケンスを参
  │                │       照するカーソルを定義し、カーソル位置を先頭に変
  │                │       更する。または、
  │                │  2-4) 副問合せにおいて、シーケンスを参照する問い合わ
  │                │       せを実行する。
─┼────────┼───────────────────────────
34│PGPLUS20-WIN-04 │以下の条件のとき、一意インデックスが定義されているテー
  │(PG47529)       │ブル(以下、テーブルA)と他のテーブル(以下、テーブルB)
  │                │との結合処理を行う問い合わせが異常終了する場合がある。
  │                │1) テーブルAとテーブルBの結合条件として、テーブルAの列
  │                │   については、一意インデックスが定義された列に対する
  │                │   条件のみが指定されている。かつ、
  │                │2) 結合条件以外の条件として、次を満たす条件が指定され
  │                │   ている。かつ、
  │                │  2-1) テーブルAの一意インデックスが定義されているすべ
  │                │       ての列に対して、'='を使用した条件が指定されてい
  │                │       る。かつ、
  │                │  2-2) テーブルAの一意インデックスが複数列上に定義され
  │                │       ている場合、2-1)の条件すべてがANDで結合されてい
  │                │       る。
  │                │3) テーブルAの任意の一行との結合条件を満たす行が、テー
  │                │   ブルBに複数存在する。かつ、
  │                │4) マージ結合により結合処理が実行される。
─┼────────┼───────────────────────────
35│PGPLUS20-WIN-04 │データベースの削除と当該データベースへの接続処理を同時
  │(PG37487)       │に実行した場合、以下のようなメッセージが出力され、削除
  │                │処理が失敗し、当該データベース内のテーブルまたはインデ
  │                │ックスが閉塞状態となる場合がある。
  │                │データベースの作成処理と当該作成処理のテンプレートとな
  │                │るデータベースへの接続処理を同時に実行した場合、本来エ
  │                │ラーとなるはずの作成処理がエラーとならずに実行される場
  │                │合がある。また、テンプレートとなるデータベースに接続し
  │                │ているクライアントが更新処理を行っているときに作成処理
  │                │が行われると、作成されるデータベースが論理的に不整合な
  │                │状態となる場合がある。
  │                │データベースの名前変更処理と当該データベースへの接続処
  │                │理を同時に実行した場合、データベースの名前が変更される
  │                │前の古い名前のデータベースに対して接続が可能になる場合
  │                │がある。
─┼────────┼───────────────────────────
36│PGPLUS20-WIN-04 │以下の条件のとき内部エラーが発生し、トランザクションの
  │(PG37494)       │現在の処理または以降の処理が異常終了する場合がある。ま
  │                │た、トランザクションが処理を行っているテーブルに定義さ
  │                │れているインデックスが閉塞状態となる場合がある。
  │                │1) 以下のいずれかの条件に該当するトランザクションが存
  │                │   在する。かつ、
  │                │  1-1) カーソルによってテーブルを参照している。
  │                │       または、
  │                │  1-2) READ_COMMITTED隔離性レベルにおいて、他のトラン
  │                │       ザクションと同時に同一テーブルの同一行に対して
  │                │       更新系コマンドを実行している。(更新系コマンドと
  │                │       は、UPDATEまたはDELETEまたはSELECT FOR UPDATE。
  │                │       )または、
  │                │  1-3) 外部キー制約が定義されたテーブルに対し、行の挿
  │                │       入または更新を行っている。または、
  │                │  1-4) 外部キー制約の被参照テーブルに対し、行の更新ま
  │                │       たは削除を行っている。または、
  │                │  1-5) トリガが定義されたテーブルに対し、そのトリガが
  │                │       実行される処理を実行している。または、
  │                │  1-6) テーブルに対する参照または更新または削除を行う
  │                │       コマンドを実行しており、かつ、そのコマンド内で
  │                │       以下のいずれかに該当する関数を使用している。
  │                │       1-6-1) 関数内部で複数のコマンドを実行するSQL関
  │                │              数。
  │                │       1-6-2) PL/pgSQL関数。
  │                │       1-6-3) SPI_cursor_open()またはSPI_exec()または
  │                │              SPI_execp()を使用するSPI関数。
  │                │2) 条件1-1)に該当する場合は当該トランザクションまたは
  │                │   他トランザクションから、また、条件1-2)から条件1-6)
  │                │   に該当する場合は、他トランザクションから、条件1)の
  │                │   トランザクションが処理を行っているテーブルに対し、
  │                │   以下のいずれかの処理(テーブルに関するシステムカタ
  │                │   ログの更新が発生する処理)を実行する。
  │                │   2-1) テーブルの削除
  │                │   2-2) インデックスの削除
  │                │   2-3) 親テーブルの削除
  │                │   2-4) インデックスの定義
  │                │   2-5) ANALYZEコマンド
  │                │   2-6) 子テーブルの定義
  │                │   2-7) 子テーブルの削除
  │                │   2-8) GRANTコマンド
  │                │   2-9) REVOKEコマンド
  │                │   2-10) pg_classまたはpg_attributeシステムカタログの
  │                │         当該テーブルに関連する行の更新または削除
  │                │   2-11) pg_attributeシステムカタログへの当該テーブル
  │                │         に関連する行の挿入
  │                │   2-12) ALTER TABLEコマンド
  │                │   2-13) CREATE TRIGGERコマンド
  │                │   2-14) DROP TRIGGERコマンド
  │                │   2-15) ALTER TRIGGERコマンド
  │                │   2-16) CREATE RULEコマンド
  │                │   2-17) DROP RULEコマンド
  │                │   2-18) 当該テーブルに定義された外部キーの被参照テー
  │                │         ブルの削除
  │                │   2-19) VACUUM ANALYZEコマンド、または、VACUUM FULL
  │                │         コマンド
─┼────────┼───────────────────────────
37│PGPLUS20-WIN-04 │以下の条件のとき、TRUNCATEコマンドの実行は本来エラーと
  │(PG49795)       │なるべきであるが、次のいずれかの現象が発生する。
  │                │現象1) TRUNCATEコマンドがエラーとならず、実行される。
  │                │現象2) TRUNCATEコマンドが復帰しない。
  │                │条件
  │                │1) トランザクションブロック内でカーソルを用いてテーブ
  │                │   ルの参照を行っている。かつ、
  │                │2) 同一トランザクションブロック内でTRUNCATEコマンドを
  │                │   当該テーブルに対し実行する。
─┼────────┼───────────────────────────
38│PGPLUS20-WIN-04 │システムコールの以下のような動作により、エラーとなった
  │(PG44987)       │場合に、エラーメッセージから原因を特定できず、問題を解
  │                │決できない。
  │                │ - read/write システムコールから、依頼したサイズとは異  
  │                │   なるサイズでDISKへのデータの読み書きが行われた旨が
  │                │   通知された場合。
─┼────────┼───────────────────────────
39│PGPLUS20-WIN-04 │以下の条件(1)かつ(2)のときに、発生時に(c)の現象が発生
  │(PG49010)       │する。その後の破壊したデータ資源へのアクセス時に(a)ま
  │                │たは(b)のいずれか、または全ての現象が発生することがあ
  │                │る。
  │                │また、以下の条件(1)かつ(2)かつ(3)のときに、(a)または
  │                │(b)または(c)の現象が発生することがある。
  │                │発生条件
  │                │  (1) 更新を行ったトランザクションでROLLBACKコマンド
  │                │      を実行する、または、更新を行ったトランザクショ
  │                │      ンでSQLコマンドを実行しエラーとなる。かつ、
  │                │  (2) (1)を契機として動作するロールバック処理において
  │                │      、メモリ不足が発生(※1)、または、テンポラリログ
  │                │      域の入出力異常が発生(※2)し、ロールバック処理が
  │                │      失敗する。
  │                │  または、
  │                │  上記(1)、(2)
  │                │  かつ、
  │                │  (3) その後、2つ以上のトランザクションで(1)と同じ事
  │                │      象が発生する。
  │                │現象
  │                │  (a) アプリケーションからのコネクションが切断される
  │                │      。
  │                │  (b) PostgreSQL Plus システムがダウンする。
  │                │  (c) データベースの内容を破壊する。
  │                │  (現象を内部の言葉で表現すると、以下のようになる。)
  │                │    (a) backend プロセスが異常終了(core 出力して停止)
  │                │        する。
  │                │    (b) ESM サーバ(edmf_base2)が異常終了(core 出力し
  │                │        て停止)する。
  │                │(※1)発生条件(2)において、メモリ不足が発生した場合は
  │                │、以下のqdg12102uのメッセージを出力する。
  │                │  qdg12102u
  │                │  PostgreSQL Plus サーバ空間内ローカルメモリ不足が発
  │                │  生しました
  │                │(※2)発生条件(2)において、テンポラリログの入出力障害
  │                │が発生した場合は、以下のqdg12442uのメッセージを出力す
  │                │る。
  │                │  qdg12442u
  │                │  テンポラリログファイル(BIログ域)の入出力障害が発生
  │                │  しました errno=d*
  │                │  [パラメタの意味]
  │                │    d*: エラー番号"
─┼────────┼───────────────────────────
40│PGPLUS20-WIN-04 │以下のいずれかの処理を、システムを停止せずに、1000回以
  │(PG49854)       │上実行すると、
  │                │    Memory(SAA) exhausted
  │                │または、
  │                │    qdg12102u PostgreSQL Plus サーバ空間内ローカルメモ
  │                │    リ不足が発生しました
  │                │のメッセージが出力され、各種コマンド、SQL の処理がエラ
  │                │ーとなり、業務の継続ができなくなることがある。
  │                │1) CREATE TABLE コマンドを実行する。または、
  │                │2) CREATE INDEX コマンドを実行する。または、
  │                │3) SELECT INTO コマンドを実行する。または、
  │                │4) インデックスのついたテーブルに対して、DROP TABLE 
  │                │   コマンドを実行する。または、
  │                │5) DROP INDEX コマンドを実行する。または、
  │                │6) CLUSTER コマンドを実行する。または、
  │                │7) データベースの追加を行う。または、
  │                │8) データベースの削除を行う。または、
  │                │9) pgx_dmpall コマンドを実行する。または、
  │                │10) pgx_tables, pgx_indexes, pgx_sequences, 
  │                │    pgx_dbspaces システムテーブルに対して検索を行うコ
  │                │    マンドを実行する。
─┼────────┼───────────────────────────
41│PGPLUS20-WIN-04 │以下の条件のときに、insert、update、enable_direct_copy
  │(PG48636)       │パラメタをoffに設定したcopyなどのデータ追加や更新を行
  │                │なうSQL(下記(a-2)(b))の性能が劣化する場合がある。
  │                │(1) 下記(a-*)または(b)を実行する、かつ、
  │                │  (a-1) delete、またはupdateを実行する、かつ、
  │                │  (a-2) (a-1)の処理を行なったトランザクション内で(a-1)
  │                │      の処理を行なったtableに対して、insert、update、
  │                │      copyなどのtableへのデータ追加や更新を行なうSQLを
  │                │      実行する。
  │                │  (b) updateを実行する。
  │                │(2) (a-2)または(b)においてtableの容量が増加する(※)。
  │                │  かつ、
  │                │      (※) システムテーブルpgx_tablesを参照することで
  │                │           確認可能。
  │                │(3) (a-*)または(b)における処理データ量の総和がデータべ
  │                │  ースバッファサイズを超える。
  │                │
  │                │なお、ファンクション内の処理は同一のトランザクションと
  │                │して処理されるため、(a-*)の処理をファンクション内で実
  │                │施している場合にも本条件に合致する。
─┼────────┼───────────────────────────
42│PGPLUS20-WIN-05 │PostgreSQL Plus Administratorにおいて、以下の条件の場
  │(PG43784)       │合に、クライアント認証の認証方式が認証不要(Trust)に
  │                │もかかわらず、『データベース管理者ログイン』画面が表示
  │                │される。
  │                │  1.クライアント認証形式にtrustを設定している。かつ、
  │                │  2.以下の操作を一度も行っていない
  │                │    − インスタンスを起動した状態で、『データベースの
  │                │      操作』を選択する。かつ、
  │                │  3.インスタンスが未起動である。かつ、
  │                │  4.『データベース操作』メニューの選択後に表示されるイ
  │                │    ンスタンス起動を促すダイアログで『キャンセル』ボタ
  │                │    ンをクリックする。
─┼────────┼───────────────────────────
43│PGPLUS20-WIN-05 │PostgreSQL Plus Administratorにおいて、以下の条件の場
  │(PG43754)       │合に、『実行』ボタンをクリックすると、下記の不当なメッ
  │                │セージを出力する。
  │                │<条件>
  │                │  『バックアップの設定』メニューから、『バックアップの
  │                │  実行を促すタイミングの設定』を選択している
  │                │<メッセージ>
  │                │  『データベースのバックアップ』画面でバックアップ状況
  │                │  を確認してください
─┼────────┼───────────────────────────
44│PGPLUS20-WIN-05 │以下の条件のとき、バックエンドプロセスが一時的に大量の
  │(PG50877)       │メモリを消費する。
  │                │1) CREATE INDEXコマンドにより、部分インデックスを定義
  │                │ する。または、
  │                │2) REINDEXコマンドにより、部分インデックスを再構築する
  │                │ 。または、
  │                │3) CLUSTERコマンドにより、部分インデックスが定義された
  │                │ テーブルのクラスタ化を実行する。
  │                │4) 高速コピー機能により、部分インデックスが定義された
  │                │ テーブルに対し、データを格納する。
─┼────────┼───────────────────────────
45│PGPLUS20-WIN-06 │以下の条件のとき、次のような検索結果異常や処理結果異常
  │(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コマンドを実
  │                │        行する。
─┼────────┼───────────────────────────


−以上−