ページの先頭行へ戻る
Enterprise Postgres 9.6 リリース情報
FUJITSU Software

第3章 プログラム修正一覧

本バージョンでは、PostgreSQL9.6.0、9.6.1、および9.6.2で実施済の障害修正を吸収しています。

参照

実施済の障害修正に関しては、以下を参照してください。

PostgreSQL Global Development GroupのWebサイト内:

[PostgreSQL 9.6.0]

  https://www.postgresql.org/docs/9.6/static/release-9-6.html

[PostgreSQL 9.6.1]

  https://www.postgresql.org/docs/9.6/static/release-9-6-1.html

[PostgreSQL 9.6.2]

  https://www.postgresql.org/docs/9.6/static/release-9-6-2.html

また、本ソフトウェアでは以前のバージョンレベルで発生した障害が修正されています。

今回のバージンレベルで吸収された修正内容、および修正番号については、以下の表を参照してください。

表3.1 FUJITSU Enterprise Postgres 9.6でのプログラム修正一覧

No.

バージョンレベル

P番号

現象

1

9.6

PH10163

[現象]

ストリーミングレプリケーション構成において、過去の時点にデータベースを復旧しようとすると、pgx_rcvallコマンドが次のメッセージを出力して失敗することがあります。

FATAL: 要求された時系列%uはデータベースシステムの時系列%uの系列ではありません

[環境]

以下のいずれかのOSを使用している。

- Linux

- Windows

[発生条件]

1) ストリーミングレプリケーション環境を構築する。かつ、

2) 以下の順番でデータベースを復旧する。

2-1) 以下のいずれかのコマンドを使用してプライマリサーバを過去の時点に復旧する。かつ、

- pgx_rcvall -e "復旧する時刻"

- pgx_rcvall -n "リストアポイント"

- pgx_rcvall -p

2-2) 以下のいずれかである。かつ、

- フェイルオーバまたはスイッチオーバが1回以上発生する。または、

- pgx_rcvall以外のコマンドを使用して過去の時点に復旧している。

2-3) pgx_dmpallコマンドを使って、新プライマリサーバのバックアップを取得する。かつ、

2-4) 両系停止が発生する。かつ、

2-5) 以下のコマンドに、2-3)で取得したバックアップを指定して旧プライマリサーバまたは新プライマリサーバを過去の時点に復旧する。

- pgx_rcvall -e "復旧する時刻"

2

PH12548

[現象]

.NET Data Providerにおいて、TransactionScope機能を利用すると、アプリケーションが例外発生で終了する。

ERRORメッセージ: prepared transaction with identifier "@1@" does not exist @1@ : トランサクション識別子

[環境]

以下のOSを使用している。

- Windows

[発生条件]

以下の条件を満たすアプリケーションを実行した場合に、本現象が発生します。

1) TransactionScopeを利用する。かつ、

2) 1)のスコープ内で複数のコネクションを生成する。かつ、

3) 2)のコネクションを利用してデータベースをアクセスする。かつ、

4) 1)のスコープに対して、Completeメソッドを呼びだす。

3

PH12605

[現象]

以下の.NET Framework をターゲットとしたアプリケーションにおいて、DbProviderFactoryクラスを利用したデータベース接続が、以下のエラーメッセージを出力して失敗します。

・対象となる.NET Frameworkのバージョン

- .NET Framework 2.0

- .NET Framework 3.0

- .NET Framework 3.5

- .NET Framework 3.5 Client Profile

・エラーメッセージ

要求された .Net Framework データ プロバイダが見つかりません。これは、インストールされていない可能性があります。

[環境]

以下のOSを使用している。

- Windows

[発生条件]

1) 以下のいずれかの方法でNpgsql.dllをGACに登録する。かつ、

1-1) FUJITSU Enterprise Postgres 9.5をインストールする。または、

1-2) pgx_NpgsqlRegister.exeを実行する。

2) Visual C# プロジェクトのターゲットフレームワークに3.5以下のバージョンを指定する。かつ、

3) 2)のプロジェクトにおいて、DbProviderFactoriesクラスのGetFactoryメソッドの引数providerInvariantNameに"FUJITSU.Npgsql"を指定し、DbProviderFactoryクラスのインスタンスを取得する。かつ、

4) 2)で作成したプロジェクトにおいて、3)で取得したインスタンスを使用してデータベース接続するアプリケーションを作成し、実行した場合。

4

PH12818

[現象]

Npgsql 2.1.x以降をベースとした製品において、接続文字列にPreloadReader=Trueを指定した場合、データが存在する場合でもHasRowsプロパティの値が常にfalseになります。

[環境]

以下のOSを使用している。

- Windows

[発生条件]

1) .NET Data Providerの接続文字列にPreloadReader=Trueを指定してConnectionインスタンスを作成する。かつ、

2) 1)で作成したConnectionインスタンスと結果セットが空にならない1つのSELECT文を指定してCommandインスタンスを作成する。かつ、

3) 2)で作成したCommandインスタンスからDataReaderインスタンスを作成する。かつ、

4) 3)で作成したDataReaderインスタンスのHasRowsプロパティの値を取得する。

5

PH13223

[現象]

Windowsクライアントのマルチバージョンインストール時に、pgx_NpgsqlRegisterコマンドの実行は正常終了するが、.NET Data Provider機能が正しく登録されない。

その結果、以前動作していたバージョンの.NETアプリケーションが動作しない。

[環境]

以下のOSを使用している。

- Windows

[発生条件]

1) Windowsクライアントのマルチバージョンインストールを行う。かつ、

2) pgx_NpgsqlRegisterコマンドを実行し、.NET Data Provider機能を登録する。かつ、

3) インストール済みのバージョンで動作していた、DbProviderFactoriesクラスを使用した.NETアプリケーションを実行する。

6

PH13243

[現象1]

透過的データ暗号化を指定したテーブル空間を含むインスタンスに対して、pg_upgradeコマンドを実行すると以下のエラーとなり、アップグレードできない。

ERROR: テーブル空間の暗号化アルゴリズムを変更することはできません

[現象2]

透過的データ暗号化を指定したテーブル空間を含むインスタンスに対して、pg_dumpallコマンドでバックアップし、psqlコマンド、またはpg_restoreコマンドによるリストアを実施すると以下のエラーとなり、リストアできない。

ERROR: テーブル空間の暗号化アルゴリズムを変更することはできません

[環境]

以下のOSを使用している。

- Linux

- Windows

[現象1の発生条件]

1) バージョンアップ対象の旧バージョンにおいて、透過的データ暗号化を指定したテーブル空間を定義済みである。かつ、

2) 1)に対して、pg_upgradeコマンドを実行し、アップグレードを行う。

[現象2の発生条件]

1) バージョンアップ対象の旧バージョンにおいて、透過的データ暗号化を指定したテーブル空間を定義済みである。かつ、

2) 1)の透過的データ暗号化を指定したテーブル空間に対して、pg_dumpallコマンドによるバックアップを行う。かつ、

3) バージョンアップ後、2)で取得したバックアップデータを使って、psqlコマンド、またはpg_restoreコマンドによるリストアを行う。

7

PH13328

[現象]

配列型またはtimestamp with timezone型に対する秘匿化ポリシーの定義が、本来異常終了するところ誤って正常終了します。

その結果、派生する現象として、ポリシーが定義された表の列へのアクセス時にエラーとなります。

[環境]

以下のOSを使用している。

- Linux

- Windows

[発生条件]

1) 配列型またはtimestamp with timezone型の列に対して、pgx_create_confidential_policyシステム管理関数により、秘匿化ポリシーを作成する。

8

PH13361

[現象1]

データベースに対して、PL/Pythonをインストールすると以下のエラーメッセージを出力してインストールに失敗します。

ERROR: ライブラリ"<FUJITSU Enterprise Postgresインストール先>/lib/plpython2.so"をロードできませんでした:

libpython2.6.so.1.0: 共有オブジェクトファイルを開けません: そのようなファイルやディレクトリはありません

[現象2]

データベースに対して、PL/Perlをインストールすると以下のエラーメッセージを出力してインストールに失敗します。

ERROR: ライブラリ"<FUJITSU Enterprise Postgresインストール先>/lib/plperl.so"をロードできませんでした:<FUJITSU Enterprise Postgresインストール先>/lib/plperl.so: undefined symbol: Perl_Iincgv_ptr

[環境]

以下のOSを使用している。

- Linux

[現象2の発生条件]

1) RHEL7.0以降の環境で、FUJITSU Enterprise Postgresを使用する。かつ、

2) 以下のいずれかのコマンドの実行により、PL/Pythonをインストールする。

- CREATE EXTENSION plpythonu

- CREATE LANGUAGE plpythonu

[現象2の発生条件]

1) RHEL7.0以降の環境で、FUJITSU Enterprise Postgresを使用する。かつ、

2) 以下のいずれかのコマンドの実行により、PL/Perlをインストールする。

- CREATE EXTENSION plperl

- CREATE LANGUAGE plperl