機能
カラムナテーブルに対するビューを作成します。
書式
pgxa_create_view(viewname)
引数
引数 | データ型 | 意味 |
---|---|---|
viewname | text | ビュー名 |
戻り値
戻り値 | 意味 |
---|---|
TRUE | 正常終了 |
FALSE | 異常終了 |
実行例
> psql postgres psql (9.2.8) Type "help" for help. postgres=# select pgxa_create_view('scm.view1'); pgxa_create_view ------------------ t (1 row)
説明
ビュー名は、事前に定義したビュー名を指定してください。
未定義のビュー名を指定した場合はエラーとなります。
ビューが参照する表は別名(alias)を必ず指定してください。
例:ビューが参照する表の別名を"t"とした場合
postgres=# create view view1 as select col1, col2 from tbl1 t; CREATE VIEW
ビュー定義文にCAST関数を指定している場合はエラーとなります。
本関数の実行前に、COMMENT文で、ビューのコメントとしてカラムナテーブルでのビュー名を指定してください。
例:カラムナテーブルのビュー名を"postgres_public_view1"とした場合
postgres=# comment on view view1 is 'postgres_public_view1'; COMMENT
ビューが参照するテーブルに外部テーブル以外が含まれている場合はエラーとなります。
カラムナテーブルを参照する外部テーブルが未作成の場合はエラーとなります。
暗号化したカラムには、pgxa_get_decryptdataシステム関数による復号を指定してビューを作成してください。
例:暗号化されたカラムcol2を含むtable1のビューview1を作成する場合
postgres=# create view view1(col1,col2,col3) as select col1, pgxa_get_decryptdata( col2, ‘SecurityKey00001’, ‘VARCHAR(64)’ ) as col2 , col3 from table1 t; CREATE VIEW postgres=# comment on view view1 is 'postgres_public_view1'; COMMENT postgres=# select pgxa_create_view('view1'); pgxa_create_view ------------------ t (1 行) postgres=# select * from view1; col1 | col2 | col3 ----------+----------------- f1234567 | 富士通太郎| M (1 row)
注意
CREATE FOREIGN TABLE文で外部テーブルを作成するときに指定するスキーマ名、外部テーブル名、カラム名などには、半角英数字だけを使用してください。
また、外部テーブルに対するビュー名、インデックス名などには半角英数字だけを使用してください。
なお、使用可能文字の詳細は、“A.1 データベースサーバ機能”を参照してください。
pgxa_get_decryptdataシステム関数およびpgxa_out_encryptdataシステム関数を使用したビューを作成した場合、ビューを削除してからSymfoware Analytics Server Advanced Security Optionを無効化してください。