Postgres使用時の注意事項について説明します。
※Postgresは、Symfoware Server Client(Postgres)やOpen SQL Clientなどにより接続された以下のPostgreSQLベースのデータベースの総称です。
Enterprise Postgres
Symfoware Server(Postgres)
Symfoware Analytics Server
構成
Navigatorサーバと異なるサーバにPostgresのデータベースが存在する場合、Navigatorサーバと同じサーバにPostgresのクライアントソフトウェアが必要です。
Postgresがインストールされているサーバでファイアウォールが設定されている場合には、Postgresで使用するポートへのアクセスを許可します。
データ型
Navigatorのデータ型と、Postgresのデータ型との対応を以下に示します。
利用不可のデータ型の項目を含むテーブルの場合、利用不可のデータ型の項目を除いて利用することができます。
種別  | Postgresのデータ型  | Navigatorのデータ型  | 
|---|---|---|
数値  | smallint  | SMALLINT  | 
integer  | INTEGER  | |
bigint  | DECIMAL(20.0)  | |
numeric(p,q)  | DECIMAL(p,q)  | |
real  | 利用不可  | |
double_precision  | FLOAT  | |
serial  | 利用不可  | |
bigserial  | 利用不可  | |
通貨  | money  | 利用不可  | 
文字型  | character varying(n)  | VARCHAR(N)※1  | 
character(n)  | CHARACTER(N) ※1  | |
text  | 利用不可  | |
バイナリ型  | bytea  | 利用不可  | 
時間型  | timestamp without time zone  | CHARACTER(19)  | 
timestamp with time zone  | 利用不可  | |
date  | CHARACTER(10)  | |
time without time zone  | CHARACTER(8)  | |
time with time zone  | 利用不可  | |
interval  | 利用不可  | |
論理値型  | boolean  | 利用不可  | 
列挙型  | enum  | 利用不可  | 
幾何データ型  | point  | 利用不可  | 
line  | 利用不可  | |
lseg  | 利用不可  | |
box  | 利用不可  | |
path  | 利用不可  | |
polygon  | 利用不可  | |
circle  | 利用不可  | |
ネットワーク型  | cidr  | 利用不可  | 
inet  | 利用不可  | |
macaddr  | 利用不可  | |
ビット型  | bit(n)  | 利用不可  | 
bit varying(n)  | 利用不可  | |
テキスト検索型  | tsquery  | 利用不可  | 
UUID型  | uuid  | 利用不可  | 
XML型  | xml  | 利用不可  | 
配列型  | -  | 利用不可  | 
複合型  | -  | 利用不可  | 
オブジェクト識別子型  | oid  | 利用不可  | 
類似データ型  | -  | 利用不可  | 
※1:Nは、環境変数「RN_POSTGRES_CHAR_BYTE」の指定値によって異なります。「RN_POSTGRES_CHAR_BYTE」が初期値(3を指定)の場合は、「N=n×3」の値となります。Symfoware Analytics Serverでは、環境変数「RN_POSTGRES_CHAR_BYTE」に設定値「1」を必ず指定します。環境変数「RN_POSTGRES_CHAR_BYTE」の詳細については、“A.2.113 RN_POSTGRES_CHAR_BYTE ”を参照してください。
データ型の注意事項
NavigatorでPostgresを利用する場合、38桁を超える精度のnumeric型は利用できません。問合せ結果が38桁を超えた場合、オーバフローのエラーとなります。
時間型のtimestamp without time zone、time without time zoneで扱える精度は秒までです。秒以下の値は、すべて0とする必要があります。例えば、小数点以下の精度が6の場合、秒以下の値は.000000とする必要があります。
Navigatorで利用するテーブルに必要な権限
Navigatorで利用するデータソースのテーブルには、Postgresに接続するNavigatorユーザに対してSELECT権を設定してください。
名称と名称の文字種
スキーマ名、テーブル名、および項目名として使用できる名称は、半角文字だけ、または全角文字だけの名称です。データソース名として使用できる名称は、半角文字だけの名称です。使用できる名称の規則を、以下に示します。
半角文字だけの名称
以下の半角文字だけを使用した名称です。
英大文字
英小文字
数字
アンダースコア「_」
ただし、1文字目が数字の名称は、使用できません。
全角文字だけの名称
全角文字だけを使用した名称です。
なお、Postgresの制限により、これらの文字だけからなる識別子も使用できない場合があります。
以下に示す名称は、スキーマ名、テーブル名、項目名、およびデータソース名として使用できません。
Navigatorの予約語と同じ名称
半角のKVRで始まる名称
半角のカタカナ
利用するデータベース製品における予約語やシステムテーブル名
Navigatorで使用できるスキーマ名、テーブル名、項目名の名称の長さは36バイトまでです。名称は、この範囲内の長さとなります。
制限事項
Postgresを利用する場合、以下の機能は制限されます。
システム運用機能
データマート生成
マートバッチ
データマートの管理
Unicode文字のCharset Managerによる外字領域へのマッピング
データ登録ツール
データ登録
クライアント機能
二次加工
Unicode明細データ表示
上記に加え、Symfoware Analytics Serverのカラムナテーブル使用時の固有の注意事項は以下のとおりです。
以下の機能が制限されます。
文字演算
時間演算
複合コード
時分秒を含む日時型項目
時間帯
マスク型管理ポイント
Postgresのvarchar型データには、後方空白を含まないでください。後方空白が含まれると、管理ポイントの処理や比較処理で、後方空白を持つデータが正しく検索されないことがあります。
データ型が、「timestamp without time zone」、「date」または、「time without time zone」の場合、以下の指定はできません。
先頭が一致するデータ
どこかが一致するデータ
末尾が一致するデータ
LIKE式で指定
Postgresの設定ファイル「postgresql.conf」内の「standard_conforming_strings」の設定が初期値の「on」になっている場合に限り利用できます。
Postgresのカラム型インデックス(Vertical Clustered Index; VCI)を利用することができます。
Navigatorでの強制切断時の注意事項
Navigatorクライアントで強制終了した場合など、Navigatorが強制終了してもPostgres側のセッション情報は、Postgres側でセッションの回収が行われるまでの間、存在した状態となります。