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

4.5 Symfoware/pgs、Enterprise PostgresまたはPostgreSQL環境の作成

逐次差分反映先システムでSymfoware/pgs、Enterprise PostgresまたはPostgreSQLのセットアップを行ってください。
データベースの定義を行ってください。
セットアップとデータベース定義の方法は、Symfoware Server、Enterprise PostgresまたはPostgreSQLのマニュアルを参照してください。
データベースにアクセスするユーザや必要な権限については、"7.3.4 lxrtmdbコマンド"を参照してください。
環境変数については"4.3.1 環境変数の設定"を参照してください。
入力データと表の対応について、"8.3.1 INTABLE定義文"および"A.1.2 ジャーナル定義の対応表"を参照してください。

設定について

データベース名について

データベース名については、DB動作環境定義のUSE_DELIMITED_IDENTIFIERSキーワードに関係なく、定義されている内容と大文字/小文字を含めて一致している必要があります。データベース作成時とDBサービス定義の対応例を以下に示します。DATABASEオペランドについては"8.3.4 STOREGROUP定義文"を参照してください。

データベース作成時

DBサービス定義のDATABASEオペランド

CREATE DATABASE RDBDB;

rdbdb

CREATE DATABASE "RDBDB";

RDBDB

CREATE DATABASE rdbdb;

rdbdb

登録されているデータベース名の確認例を以下に示します。psqlコマンドで接続されている状態で確認します。

rdbdb=# \l
                                             データベース一覧
   名前    |  所有者  | エンコーディング |      照合順序      | Ctype(変換演算子)  |      アクセス権
-----------+----------+------------------+--------------------+--------------------+-----------------------
 postgres  | symfopgs | UTF8             | Japanese_Japan.932 | Japanese_Japan.932 |
 rdbdb     | symfopgs | UTF8             | Japanese_Japan.932 | Japanese_Japan.932 |
 template0 | symfopgs | UTF8             | Japanese_Japan.932 | Japanese_Japan.932 | =c/symfopgs          +
           |          |                  |                    |                    | symfopgs=CTc/symfopgs
 template1 | symfopgs | UTF8             | Japanese_Japan.932 | Japanese_Japan.932 | =c/symfopgs          +
           |          |                  |                    |                    | symfopgs=CTc/symfopgs
(4 行)

データベースアクセスユーザ名について

データベースアクセスユーザ名については、DB動作環境定義のUSE_DELIMITED_IDENTIFIERSキーワードに関係なく、データベースに定義されている内容と大文字/小文字を含めて一致している必要があります。データベースアクセスユーザ作成時とlxrtmdbコマンド -uオプションの指定値の対応例を以下に示します。lxrtmdbコマンドについては"7.3.4 lxrtmdbコマンド"を参照してください。

データベースアクセスユーザ作成時

lxrtmdbコマンド -uオプション指定値

CREATE USER USER1 WITH PASSWORD 'user1';

user1/user1

CREATE USER "USER1" WITH PASSWORD 'user1';

USER1/user1

CREATE USER user1 WITH PASSWORD 'user1';

user1/user1

データベースアクセスユーザ名の確認例を以下に示します。psqlコマンドで接続されている状態で確認します。

rdbdb=# \du
                                             ロール一覧
     ロール名     |                                 属性                                 | メンバー
------------------+----------------------------------------------------------------------+----------
 symfoadmin       | スーパーユーザ, ロールを作成できる, DBを作成できる, レプリケーション | {}
 user             |                                                                      | {}
(2 行)

また、lxrtmdbコマンド -uオプションの省略時など、Trust認証を使用する場合は、データベース上でユーザを作成する際に、OS上のユーザ名と大文字/小文字を含めて一致している必要があります。対応例を以下に示します。

OS上のユーザ名

データベースアクセスユーザ作成時

ローカルシステムアカウント

CREATE USER "SYSTEM";

Administrator

CREATE USER "Administrator";

ポート番号

ポート番号はデータベースクラスタごとに使用します。ポート番号は、postgresql.confやpg_ctlコマンドで指定できます。すべてにおいて省略した場合は、デフォルト値が使用されます。ポート番号は他のデータベースクラスタと競合しないようにしてください。

指定方法

postgresql.confに指定
その他のコマンドでは省略

port = 26500

pg_ctl startコマンド

pg_ctl start -w -D /db/inst1 -o "-p 26500"


サービス登録時に指定

pg_ctl register -N "Symfoware Server inst1" -U usr1 -P passwd1 -D D:\db\inst1 -w -o "-p 26500" -S demand

データベースクラスタで使用するポート番号と、DBサービス定義で指定するポート番号は合わせてください。
pg_ctlコマンドの詳細については、Symfoware Server、Enterprise PostgresまたはPostgreSQLのマニュアルを参照してください。

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

DBサーバのパラメータは、ファイルpostgresql.confに設定します。
以下のパラメータに"on"を設定しないでください。設定した場合、意図せず逐次差分反映が異常終了する可能性があります。

exit_on_error = on
quote_all_identifiers = on

また、格納側の列の属性にbyteaを使用する場合、以下のパラメータに"off"を設定しないでください。設定した場合、不当なデータを格納する可能性があります。

standard_conforming_strings = off

リモートデータベース環境

リモートデータベース環境については、"第7部 リモートデータベース環境における運用"を参照してください。

注意事項