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側でセッションの回収が行われるまでの間、存在した状態となります。