ページの先頭行へ戻る
LinkexpressTransactional Replication optionV5.0L72 説明書
FUJITSU Software

30.1.2 Symfoware/pgs、Enterprise PostgresまたはPostgreSQL

Symfoware/pgs、Enterprise PostgresまたはPostgreSQLのリモートデータベースを使用する場合の、システム構成、TROの設定、およびデータベースの設定について説明します。
Symfoware/pgsの設定などについては、Symfoware Serverのマニュアルを参照してください。
Enterprise Postgresの設定などについては、Enterprise Postgresのマニュアルを参照してください。
PostgreSQLの設定などについては、PostgreSQLのマニュアルを参照してください。

30.1.2.1 サポート範囲

DBサーバ
Symfoware/pgsの場合

DBサーバ側には、Symfoware Server(Openインタフェース)をインストールします。

Enterprise Postgresの場合

DBサーバ側には、Enterprise Postgresをインストールします。

PostgreSQLの場合

DBサーバ側には、PostgreSQLをインストールします。

DBクライアント
Symfoware/pgsの場合

DBクライアント側には、Symfoware Server Client(Symfoware Server(Openインタフェース)のクライアントパッケージ)をインストールします。
DBクライアント側のバージョンは、DBサーバ側のデータベースへの接続をサポートしているものにする必要があります。詳細はSymfoware Serverのマニュアルを参照してください。

Enterprise Postgresの場合

DBクライアント側には、Enterprise Postgres Client(Enterprise Postgresのクライアントパッケージ)をインストールします。
DBクライアント側のバージョンは、DBサーバ側のデータベースへの接続をサポートしているものにする必要があります。詳細はEnterprise Postgresのマニュアルを参照してください。

PostgreSQLの場合

DBクライアント側には、PostgreSQLクライアントをインストールします。
DBクライアント側のバージョンは、DBサーバ側のデータベースへの接続をサポートしているものにする必要があります。詳細はPostgreSQLのマニュアルを参照してください。

認証

認証の種類は以下のとおりです。

  • データベースの認証機構(パスワード認証)

30.1.2.2 システム構成

システム構成を以下に示します。

図30.4 Symfoware/pgs、Enterprise PostgresまたはPostgreSQLのシステム構成(TRO)

グローバルサーバからJournalTransferを通じてデータを受信してTRMのメッセージキューに格納します。
DBサーバ側では、パラメータやクライアント認証ファイルの設定に応じて、クライアント側からの要求を受け付けます。
DBクライアント側では、ホスト、ポート番号およびデータベース名を指定することにより対象のデータベースに接続し、データを格納します。

30.1.2.3 DBサーバの設定

パラメータとクライアント認証ファイルを設定します。
詳細はSymfoware Server、Enterprise PostgresまたはPostgreSQLのマニュアルを参照してください。

パラメータ(postgresql.conf)の設定

パラメータ(postgresql.conf)を設定してください。

listen_addresses

クライアントアプリケーションからの接続を監視する DBサーバ側のTCP/IP アドレスを指定します。'*'を指定した場合、DBサーバで利用可能な全てのIPインタフェースに対応します。指定例を以下に示します。

listen_addresses='*'

tcp_keepalives_idleおよびtcp_keepalives_interval

キープアライブ(接続が有効であることを確認するために定期的に行われる通信)を送信する間隔を指定します。以下の指定を推奨します。

tcp_keepalives_idle=30
tcp_keepalives_interval=6

ネットワークの切断などによってデータベースから切断されたあとに再接続が完了すると、RT14203メッセージが出力されます。しかし、DBサーバの内部で接続情報が残っていると、再接続が完了したにもかかわらず、逐次差分反映処理が進まないことがあります。
tcp_keepalives_idleパラメータ、およびtcp_keepalives_intervalパラメータを指定することにより、この現象を軽減できます。この値を設定しているにも関わらず現象が頻発する場合は、値を小さくすることを推奨します。また、データベースを再起動すると、内部の接続情報は初期化されるため、データベースを再起動することを推奨します。

クライアント認証ファイル(pg_hba.conf)の設定

クライアント認証ファイル“pg_hba.conf”に以下を設定します。

host データベース ユーザ 許可対象ホスト 認証方法

データベースに"all"を指定した場合は、すべてのデータベースが対象となります。
ユーザに"all"を指定した場合は、すべてのユーザが対象となります。
許可対象ホストにはDBクライアントを指定します。
認証方法として、平文のパスワードの場合は"password"を、MD5暗号化パスワードの場合は"md5"を指定します。パスワードはネットワークを通じて送信されるため、MD5暗号化パスワードによる認証方式を推奨します。

指定例)全データベース、全ユーザ、特定のIPアドレス、MD5暗号化パスワードの場合

host all all 192.168.0.1/32 md5

30.1.2.4 DBクライアントの設定

DBクライアントからDBサーバに接続できることをpsqlコマンドにより確認してください。

psql -h DBサーバ -d データベース -p ポート番号 -U DBアクセスユーザ

30.1.2.5 環境変数の設定

DBクライアント側でTROに必要な環境変数を設定します。
リモート接続では、接続先のホストおよびポートの指定が必要です。DBサービス定義 (STOREGROUP定義文のDATABASEオペランド)で指定した場合は、環境変数での指定は不要です。

表30.6 Symfoware/pgs、Enterprise PostgresまたはPostgreSQLのリモート接続に関連する環境変数

環境変数

説明

PATH

[Symfoware/pgsの場合]
Symfoware Server Clientの実行モジュールが格納されているディレクトリを追加してください。

[Enterprise Postgresの場合]
Enterprise Postgres Clientの実行モジュールが格納されているディレクトリを追加してください。

[PostgreSQLの場合]
PostgreSQLの実行モジュールが格納されているディレクトリを追加してください。

PGHOST

接続先のホストを指定します。

PGPORT

接続用のポート番号を指定します。

詳細については、Symfoware Server、Enterprise PostgresまたはPostgreSQLのマニュアルを参照してください。
その他の環境変数については、"4.3.1 環境変数の設定"を参照してください。

30.1.2.6 DB動作環境定義の作成

DBクライアント側でDB動作環境定義キーワードを指定します。
リモート接続に関するDB動作環境定義キーワードは以下のとおりです。

表30.7 Symfoware/pgs、Enterprise PostgresまたはPostgreSQLのリモート接続に関連するDB動作環境定義キーワード

キーワード

概要

CONNECT_TYPE

接続方式を指定します。

REMOTE_RECONNECT_COUNT

切断された場合の、再接続のリトライを行う回数を指定します。
なお、リモート接続では、データベースの占有待ちが発生した場合にも、本キーワードの指定値に従ってリトライを行います。

REMOTE_RECONNECT_INTERVAL

再接続のリトライを行う間隔を指定します。

例を以下に示します。

CONNECT_TYPE:REMOTE
REMOTE_RECONNECT_COUNT:20
REMOTE_RECONNECT_INTERVAL:60

また、他のDB動作環境定義キーワードも必要に応じて指定してください。
詳細については、"4.3.2 DB動作環境定義の作成"を参照してください。

30.1.2.7 DBサービス定義の作成

DBクライアント側でDBサービス定義を作成します。
STOREGROUP定義文のDATABASEオペランドは以下の形式で指定してください。

DATABASEオペランド

接続先の形態に応じて指定してください。

接続先のホスト名を1つ指定します。

データベース名[@ホスト名][:ポート番号]

ホスト名を省略した場合、環境変数PGHOSTの指定値が有効となります。
リモート接続ではホスト名が必要なため、DATABASEオペランドまたは環境変数PGHOSTでホスト名を指定してください。

ポート番号を省略した場合、環境変数PGPORTの指定値が有効となります。ポート番号と環境変数PGPORTをいずれも省略した場合は、環境変数PGPORTの省略値となります。

STOREGROUP定義文のOUTCODEオペランドは、データベース側のコード系に合わせてください。
詳細は、Symfoware Server、Enterprise PostgresまたはPostgreSQLのマニュアルを参照してください。

その他については、ローカル接続と同じです。詳細については、"第8章 DBサービス定義"を参照してください。

30.1.2.8 逐次差分反映の開始

DBクライアント側で逐次差分反映を開始します。
逐次差分反映の開始は、lxrtmdbコマンドにより行います。詳細については、"7.3.4 lxrtmdbコマンド"を参照してください。
リモート接続では、データベースの認証機構のみ使用可能であるため、lxrtmdbコマンドには-uオプションを指定する必要があります。

例を以下に示します。

lxrtmdb -s DBSVC1 -r STRGRP1 -o -u user1/passwd1

30.1.2.9 注意事項

リモート接続における注意事項を説明します。

ファイアウォール

DBサーバ側でファイアウォールを運用している場合、DBサーバとDBクライアントの通信に使用するポートを許可するよう、DBサーバ側に設定します。対象のポートを許可してください。
デフォルトの場合、ポートは以下となります。

Symfoware/pgsの場合

27500/tcp

Enterprise Postgresの場合

27500/tcp

PostgreSQLの場合

5432/tcp