ページの先頭行へ戻る
Enterprise Postgres 17 SP1 運用ガイド

B.3.1 プロファイル管理関数

名前

戻り型

説明

pgx_create_profile(profile_name name, password_parameter json)

void

新規にプロファイルを作成します。

profile_nameには、プロファイル名を指定します。既存のプロファイル名を指定した場合はエラーとなります。

password_parameterには、以下のようにパラメータと値をkey-value形式で指定します。

'{
    "INACTIVE_USER_TIME": 15,
    "PASSWORD_LIFE_TIME": 30,
    "PASSWORD_GRACE_TIME": "UNLIMITED",
    "PASSWORD_REUSE_TIME": 10,
    "PASSWORD_REUSE_MAX": 5,
    "PASSWORD_LOCK_TIME": 0.5,
    "FAILED_LOGIN_ATTEMPTS": "DEFAULT",
    "PASSWORD_ALLOW_HASHED": true,
    "PASSWORD_ROLLOVER_TIME": 0.125
}');

jsonのvalueでは、パラメータに応じてinteger、 numeric、 booleanを受け入れますが、“DEFAULT”、“UNLIMITED”の文字列のみ特殊な値として受け入れます。

json内で省略されたパラメータ、または、valueにnullを指定したパラメータについては、defaultプロファイルの値に従います。

また、password_parameterは省略可能であり、省略した場合は全パラメータがdefaultプロファイルに従うプロファイルが作成されます。

pgx_alter_profile(profile_name name, alter_parameter json)

void

既存のプロファイルの内容を更新します。

profile_nameには更新するプロファイル名を指定します。存在しないプロファイル名を指定した場合はエラーとなります。

alter_parameterでは、以下のように変更したい変数名と値をkey-value形式で指定します。省略されたパラメータ、または、valueにnullを指定したパラメータについては、プロファイルの内容を変更しません。

'{
    "name": "new_name",
    "PASSWORD_LIFE_TIME": 50,
    "PASSWORD_GRACE_TIME": 10
}');

name: 変更後のプロファイル名を指定します。nullは指定できません。

profile_nameでdefaultプロファイルを指定した場合、以下の変更はできません。

  • nameの変更

  • 各password_parameterのDEFAULTへの変更

pgx_drop_profile(profile_name name, if_exists boolean, cascade boolean)

void

既存のプロファイルを削除します。

profile_nameに削除するプロファイル名を指定します。

defaultプロファイルを指定するとエラーとなります。

if_existsは、profile_nameで存在しないプロファイル名を指定した場合にエラーとするかどうかを指定します。trueの場合はエラーとしません。if_existsは省略可能です。デフォルト値はfalseです。

cascadeは、profile_nameでユーザーに割り当てられているプロファイルを指定したとき、エラーとするかどうかを指定します。falseの場合、エラーとなります。trueの場合は、そのプロファイルの割当てをすべて解除したうえで削除し、割当てが解除されたユーザーについてはdefaultプロファイルが代わりに割り当てられます。cascadeは省略可能です。デフォルト値はfalseです。

[trueを指定する場合の例]
明示的に引数指定します。(名前付き表記の例)

SELECT pgx_drop_profile('test_profile', cascade => true);