ページの先頭行へ戻る
Symfoware Analytics ServerV12.3.x 利用ガイド
FUJITSU Software

6.4.3 ビューの作成

DWHサーバ管理者ユーザーは、ビューを作成することで、テーブルの一部分のみへのアクセスをユーザーに付与します。

ビューを作成する際に、pgxa_use_variableシステム関数を使用してWHERE句を記述することで、“6.4.1 ログインプロシージャの作成”でpgxa_register_variableシステム関数で登録したユーザー情報をもとにアクセス制御を行います。

注意

pgxa_use_variableシステム関数はデータ型に応じた関数が存在します。詳細は、“リファレンス”の“pgxa_use_variable”を参照してください。

ビューの作成手順

6.4.1 ログインプロシージャの作成”で作成したログインプロシージャにおいて、ユーザーの部署IDを変数_busho_idとして登録した場合について説明します。

実行例は、売り上げテーブルに対して行レベルのアクセス制御を付与したビューを作成しています。

  1. データベースクライアント機能を利用し、データベースに接続します。

    psql (x.y.z)
    Type "help" for help.

    x.y.z:PostgreSQLのバージョンが表示されます。

  2. ビューの作成
    行レベルのアクセス制御を行うテーブルに対して、pgxa_use_variableシステム関数による条件句を付与したビューを作成します。

    実行例
    postgres=# CREATE VIEW uriage_v AS
    postgres-# SELECT * FROM uriage_tbl t
    postgres-# WHERE t.busho_id = pgxa_use_variable_int('_busho_id');

    参照

    pgxa_use_variableシステム関数の詳細は“リファレンス”の“pgxa_use_variable”を参照してください。

  3. カラムナテーブルに対するビューの作成
    pgxa_create_viewシステム関数を用いて、カラムナテーブルに対するビューを作成します。

    実行例
    postgres=# COMMENT ON VIEW uriage_v is ‘postgres_public_uriage_v’;
    COMMENT
    postgres=# SELECT pgxa_create_view(‘uriage_v’);
    pgxa_create_view
    --------------------------
    t
    (1行)