機能
秘匿化ポリシーを変更します。
書式
変更内容によって書式が異なります。書式は以下のとおりです。
共通の書式
common_arg: [schema_name := 'schema_name',] table_name := 'table_name', policy_name := 'policy_name'
秘匿化ポリシーに秘匿化対象を追加
pgx_alter_confidential_policy( common_arg,
[action := 'ADD_COLUMN', ] column_name := 'column_name' [, function_type := 'FULL'] | [, function_type := 'PARTIAL', partial_opt] | [, function_type := 'REGEXP', regexp_opt] )
partial_opt: function_parameters := 'masking_format'
regexp_opt: regexp_pattern := 'regexp_pattern', regexp_replacement := 'regexp_replacement', [, regexp_flags := 'regexp_flags']
秘匿化ポリシーから秘匿化対象を削除
pgx_alter_confidential_policy( common_arg, action := 'DROP_COLUMN', column_name := 'column_name' )
秘匿化条件を変更
pgx_alter_confidential_policy( common_arg, action := 'MODIFY_EXPRESSION', expression := 'expression' )
秘匿化対象に設定されている秘匿化ポリシーの内容を変更
pgx_alter_confidential_policy( common_arg,
action := 'MODIFY_COLUMN', column_name := 'column_name' [, function_type := 'FULL'] | [, function_type := 'PARTIAL', partial_opt] | [, function_type := 'REGEXP', regexp_opt] )
partial_opt: function_parameters := 'masking_format'
regexp_opt: regexp_pattern := 'regexp_pattern', regexp_replacement := 'regexp_replacement', [, regexp_flags := 'regexp_flags']
秘匿化ポリシーの説明を変更
pgx_alter_confidential_policy( common_arg, action := 'SET_POLICY_DESCRIPTION', policy_description := 'policy_description' )
秘匿化対象の説明を変更
pgx_alter_confidential_policy( common_arg, action := 'SET_COLUMN_DESCRIPTION', column_name := 'column_name', column_description := 'column_description' )
引数
変更内容によって引数が異なります。詳細は以下のとおりです。
共通の引数
引数を指定可能な秘匿化種別  | 引数  | データ型  | 意味  | デフォルト値  | 
|---|---|---|---|---|
すべて  | schema_name  | varchar(63)  | 秘匿化ポリシーが適用されているテーブルのスキーマ名  | 'public'  | 
table_name  | varchar(63)  | 秘匿化ポリシーが適用されているテーブル名  | 省略不可  | |
policy_name  | varchar(63)  | 秘匿化ポリシー名  | 省略不可  | 
秘匿化ポリシーに秘匿化対象を追加
引数を指定可能な秘匿化種別  | 引数  | データ型  | 意味  | デフォルト値  | 
|---|---|---|---|---|
すべて  | action  | varchar(63)  | 'ADD_COLUMN'  | 'ADD_COLUMN'  | 
column_name  | varchar(63)  | 秘匿化対象名  | 省略不可  | |
function_type  | varchar(63)  | 秘匿化種別 
  | 'FULL'  | |
部分秘匿化  | function_parameters  | varchar(1024)  | 部分秘匿化の秘匿化形式  | 省略不可  | 
正規表現秘匿化  | regexp_pattern  | varchar(1024)  | 正規表現による改訂方法  | 省略不可  | 
regexp_replacement  | varchar(1024)  | 正規表現の改訂後の文字  | 省略不可  | |
regexp_flags  | varchar(20)  | 正規表現のフラグ  | NULL  | 
秘匿化ポリシーから秘匿化対象を削除
引数を指定可能な秘匿化種別  | 引数  | データ型  | 意味  | デフォルト値  | 
|---|---|---|---|---|
すべて  | action  | varchar(63)  | 'DROP_COLUMN'  | 省略不可  | 
column_name  | varchar(63)  | 秘匿化対象名  | 省略不可  | 
秘匿化条件を変更
引数を指定可能な秘匿化種別  | 引数  | データ型  | 意味  | デフォルト値  | 
|---|---|---|---|---|
すべて  | action  | varchar(63)  | 'MODIFY_EXPRESSION'  | 省略不可  | 
expression  | varchar(1024)  | 変更する秘匿化条件  | 省略不可  | 
秘匿化対象に設定されている秘匿化ポリシーの内容を変更
引数を指定可能な秘匿化種別  | 引数  | データ型  | 意味  | デフォルト値  | 
|---|---|---|---|---|
すべて  | action  | varchar(63)  | 'MODIFY_COLUMN'  | 省略不可  | 
column_name  | varchar(63)  | 秘匿化対象名  | 省略不可  | |
function_type  | varchar(63)  | 秘匿化種別 
  | 'FULL'  | |
部分秘匿化  | function_parameters  | varchar(1024)  | 部分秘匿化の秘匿化形式  | 省略不可  | 
正規表現秘匿化  | regexp_pattern  | varchar(1024)  | 正規表現による改訂方法  | 省略不可  | 
regexp_replacement  | varchar(1024)  | 正規表現の改訂後の文字  | 省略不可  | |
regexp_flags  | varchar(20)  | 正規表現のフラグ  | NULL  | 
秘匿化ポリシーの説明を変更
引数を指定可能な秘匿化種別  | 引数  | データ型  | 意味  | デフォルト値  | 
|---|---|---|---|---|
すべて  | action  | varchar(63)  | 'SET_POLICY_DESCRIPTION'  | 省略不可  | 
policy_description  | varchar(1024)  | 秘匿化ポリシーの説明  | 省略不可  | 
秘匿化対象の説明を変更
引数を指定可能な秘匿化種別  | 引数  | データ型  | 意味  | デフォルト値  | 
|---|---|---|---|---|
すべて  | action  | varchar(63)  | 'SET_COLUMN_DESCRIPTION'  | 省略不可  | 
column_name  | varchar(63)  | 秘匿化対象名  | 省略不可  | |
column_description  | varchar(1024)  | 秘匿化対象の説明  | 省略不可  | 
引数の省略可否は以下のとおりです。
引数  | 省略可否  | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|
ADD_COLUMN  | DROP_COLUMN  | MODIFY_EXPRESSION  | MODIFY_COLUMN  | SET_POLICY_DESCRIPTION  | SET_COLUMN_DESCRIPTION  | |||||
全秘匿化  | 部分秘匿化  | 正規表現秘匿化  | 全秘匿化  | 部分秘匿化  | 正規表現秘匿化  | |||||
schema_name  | ○  | ○  | ○  | ○  | ○  | ○  | ○  | ○  | ○  | ○  | 
table_name  | ×  | ×  | ×  | ×  | ×  | ×  | ×  | ×  | ×  | ×  | 
policy_name  | ×  | ×  | ×  | ×  | ×  | ×  | ×  | ×  | ×  | ×  | 
action  | ○  | ○  | ○  | ×  | ×  | ×  | ×  | ×  | ×  | ×  | 
column_name  | ×  | ×  | ×  | ×  | -  | ×  | ×  | ×  | -  | ×  | 
function_type  | ○  | ×  | ×  | -  | -  | ○  | ×  | ×  | -  | -  | 
expression  | -  | -  | -  | -  | ×  | -  | -  | -  | -  | -  | 
policy_description  | -  | -  | -  | -  | -  | -  | -  | -  | ×  | -  | 
column_description  | -  | -  | -  | -  | -  | -  | -  | -  | -  | ×  | 
function_parameters  | -  | ×  | -  | -  | -  | -  | ×  | -  | -  | -  | 
regexp_pattern  | -  | -  | ×  | -  | -  | -  | -  | ×  | -  | -  | 
regexp_replacement  | -  | -  | ×  | -  | -  | -  | -  | ×  | -  | -  | 
regexp_flags  | -  | -  | ○  | -  | -  | -  | -  | ○  | -  | -  | 
○:省略可 ×:省略不可 -:指定した場合は無視されます
戻り値
戻り値  | 意味  | 
|---|---|
TRUE  | 正常終了  | 
FALSE  | 異常終了  | 
実行例1
秘匿化ポリシーp1に秘匿化対象c2を追加する場合
postgres=# select pgx_alter_confidential_policy(table_name := 't1', policy_name := 'p1', action := 'ADD_COLUMN', column_name := 'c2', function_type := 'PARTIAL', function_parameters := 'VVVFVVVVFVVVV, VVV-VVVV-VVVV, *, 4, 11'); pgx_alter_confidential_policy -------------------------------- t (1 row)
実行例2
秘匿化ポリシーp1から秘匿化対象c1を削除する場合
postgres=# select pgx_alter_confidential_policy(table_name := 't1', policy_name := 'p1', action := 'DROP_COLUMN', column_name := 'c1'); pgx_alter_confidential_policy -------------------------------- t (1 row)
実行例3
秘匿化ポリシーp1に対し、秘匿化条件を変更する場合
postgres=# select pgx_alter_confidential_policy(table_name := 't1', policy_name := 'p1', action := 'MODIFY_EXPRESSION', expression := 'false'); pgx_alter_confidential_policy -------------------------------- t (1 row)
実行例4
秘匿化対象c2に設定されている秘匿化ポリシーp1の内容を変更する場合
postgres=# select pgx_alter_confidential_policy(table_name := 't1', policy_name := 'p1', action := 'MODIFY_COLUMN', column_name := 'c2', function_type := 'FULL'); pgx_alter_confidential_policy -------------------------------- t (1 row)
実行例5
秘匿化ポリシーp1の説明を変更する場合
postgres=# select pgx_alter_confidential_policy(table_name := 't1', policy_name := 'p1', action := 'SET_POLICY_DESCRIPTION', policy_description := 'this policy is an example.'); pgx_alter_confidential_policy -------------------------------- t (1 row)
実行例6
秘匿化対象c2の説明を変更する場合
postgres=# select pgx_alter_confidential_policy(table_name := 't1', policy_name := 'p1', action := 'SET_COLUMN_DESCRIPTION', column_name := 'c2', column_description := 'c2 column is FULL.'); pgx_alter_confidential_policy -------------------------------- t (1 row)
説明
pgx_alter_confidential_policyシステム管理関数の引数の順序は任意に指定可能です。
actionのパラメーターは以下を指定できます。actionパラメーターを省略した場合は、ADD_COLUMNが適用されます。
パラメーター  | 説明  | 
|---|---|
ADD_COLUMN  | 秘匿化ポリシーに秘匿化対象を追加します。  | 
DROP_COLUMN  | 秘匿化ポリシーから秘匿化対象を削除します。  | 
MODIFY_EXPRESSION  | expressionを変更します。  | 
MODIFY_COLUMN  | 秘匿化対象に設定されている秘匿化ポリシーの内容を変更します。  | 
SET_POLICY_DESCRIPTION  | policy_descriptionを変更します。  | 
SET_COLUMN_DESCRIPTION  | column_descriptionを変更します。  | 
function_parametersはfunction_typeがPARTIALの場合に有効です。function_typeがPARTIAL以外の場合は無視されます。
以下の値はfunction_typeがREGEXPの場合に有効です。function_typeがREGEXP以外の場合は無視されます。
regexp_pattern
regexp_replacement
regexp_flags
参照
引数に指定する文字列は、“PostgreSQL文書”の“文字列定数”を参照してください。
regexp_pattern、regexp_replacement、regexp_flagsに指定できる値は、“PostgreSQL文書”の“POSIX正規表現”のpattern、replacement、flagsを参照してください。