Amazon Redshift パラメータグループを作成します。
概要
Amazon Redshift で、作成する各クラスターにパラメータグループを関連付けます。パラメータグループは、クラスター内で作成したデータベースに適用されるパラメータのグループです。これらのパラメータは、クエリのタイムアウトやデータスタイルなどのデータベース設定を定義します。
パラメータグループについて
各パラメータグループには、データベースの設定を定義する複数のパラメータがあります。使用できるパラメータのリストは、パラメータグループが属しているパラメータグループファミリーによって異なります。パラメータグループファミリーとは、パラメータグループ内のパラメータが適用される Amazon Redshift エンジンのバージョンのことです。パラメータグループファミリー名の形式は、redshift-
(version
version
はエンジンバージョン) です。たとえば、エンジンの現在のバージョンは redshift-1.0
です。
Amazon Redshift は、パラメータグループファミリーごとに 1 つのデフォルトパラメータグループを提供しています。デフォルトパラメータグループにはパラメータごとのプリセット値があり、これを変更することはできません。デフォルトパラメータグループ名の形式は default.
(parameter_group_family
parameter_group_family
はパラメータグループが属するエンジンのバージョン) です。たとえば、redshift-1.0
バージョンのデフォルトパラメータグループの名前は default.redshift-1.0
です。
現時点では、redshift-1.0
が Amazon Redshift エンジンの唯一のバージョンです。したがって、default.redshift-1.0
が唯一のデフォルトパラメータグループです。
デフォルトパラメータグループとは異なるパラメータ値を使用するには、カスタムパラメータグループを作成してクラスターを関連付ける必要があります。カスタムパラメータグループ内のパラメータ値は、最初はデフォルトパラメータグループ内のものと同じです。これらの値は Amazon Redshift によってプリセットされているため、すべてのパラメータの最初の source
は engine-default
です。パラメータ値を変更した後、source
は user
に変わり、値がデフォルト値から変更されたことを示します。
Amazon Redshift コンソールには各パラメータの source
は表示されません。source
を表示するには、Amazon Redshift API、AWS CLI、または AWS SDK の 1 つを使用する必要があります。
ユーザーが作成したパラメータグループについては、パラメータ値はいつでも変更できます。またはすべてのパラメータ値をデフォルトにリセットすることもできます。また、異なるパラメータグループをクラスターに関連付けることもできます。場合によっては、クラスターに既に関連付けられているパラメータグループのパラメータ値を変更したり、別のパラメータグループをクラスターに関連付けたりすることもできます。このような場合、更新したパラメータ値を有効にするためにクラスターの再起動が必要になることがあります。クラスターに障害が発生し、Amazon Redshift により再起動された場合、変更内容はそのときに適用されます。メンテナンス中にクラスターが再起動された場合、変更は適用されません。詳細については、「WLM の動的プロパティと静的プロパティ」を参照してください。
デフォルトパラメータ値
次の表はデフォルトパラメータ値の一覧とともに、各パラメータの詳細な情報へのリンクを示しています。これらは redshift-1.0
パラメータグループファミリーのデフォルト値です。
パラメータ名 | 値 | 詳細情報 |
---|---|---|
auto_analyze |
true |
Amazon Redshift データベースデベロッパーガイドの「auto_analyze」 |
auto_mv |
true |
Amazon Redshift データベースデベロッパーガイドの「自動マテリアライズドビュー」 |
datestyle |
ISO, MDY |
Amazon Redshift データベースデベロッパーガイドの「datestyle」 |
enable_case_sensitive_identifier |
false |
Amazon Redshift データベースデベロッパーガイドの「enable_case_sensitive_identifier」 |
enable_user_activity_logging |
false |
このガイドの「データベース監査ログ作成」 |
extra_float_digits |
0 |
Amazon Redshift データベースデベロッパーガイドの「extra_float_digits」 |
max_concurrency_scaling_clusters |
1 |
Amazon Redshift データベースデベロッパーガイドの「max_concurrency_scaling_clusters」 |
query_group |
default |
Amazon Redshift データベースデベロッパーガイドの「query_group」 |
require_ssl |
false |
このガイドの「接続のセキュリティオプションを設定する」 |
search_path |
$user, public |
Amazon Redshift データベースデベロッパーガイドの「search_path」 |
statement_timeout |
0 |
Amazon Redshift データベースデベロッパーガイドの「statement_timeout」 |
wlm_json_configuration |
[{"auto_wlm":true}] |
このガイドの「ワークロード管理の設定」 |
use_fips_ssl |
false |
システムが FIPS に準拠する必要がある場合のみ、FIPS 準拠の SSL モードを有効にします。 |
max_cursor_result_set_size
パラメータは廃止されました。カーソル結果セットのサイズの詳細については、Amazon Redshift データベースデベロッパーガイドの「カーソルの制約」を参照してください。
データベースで SET
コマンドを使用して一時的にパラメータを上書きすることもできます。SET
コマンドは、現在のセッションの期間だけパラメータを上書きします。前の表で示されたパラメータに加えて、データベースで wlm_query_slot_count
を設定することで、一時的にスロットカウントを調整することもできます。wlm_query_slot_count
パラメータは、パラメータグループでの設定に使用することはできません。スロット数の調整の詳細については、Amazon Redshift データベースデベロッパーガイドの「wlm_query_slot_count」を参照してください。他のパラメータを一時的に上書きする方法の詳細については、Amazon Redshift データベースデベロッパーガイドからサーバー設定の変更を参照してください。
AWS CLI によるパラメータ値を設定する
AWS CLI を使用して Amazon Redshift パラメータを設定するには、特定のパラメータグループに対して modify-cluster-parameter-group
コマンドを使用します。parameter-group-name
で、変更するパラメータグループを指定します。parameters
パラメータ (modify-cluster-parameter-group
コマンドのパラメータ) を使用して、パラメータグループで変更する各パラメータの名前と値のペアを指定します。
wlm_json_configuration
を使用して AWS CLI パラメータを設定する際は、特別な考慮事項があります。このセクションの例は、wlm_json_configuration
を除くすべてのパラメータに適用されます。wlm_json_configuration
による AWS CLI の設定の詳細については、「ワークロード管理の設定」を参照してください。
パラメータ値を変更した後は、変更したパラメータグループに関連付けられているクラスターを再起動する必要があります。値が適用中の間、applying
のクラスター状態は ParameterApplyStatus
と表示され、値の適用が完了すると pending-reboot
になります。再起動後、クラスター内のデータベースは新しいパラメータ値の使用を開始します。クラスターの再起動の詳細については、「クラスターの再起動」を参照してください。
wlm_json_configuration
パラメータに含まれる一部のプロパティは動的プロパティであり、関連付けられたクラスターを再起動しなくても変更が適用されます。動的プロパティと静的プロパティの詳細については、「WLM の動的プロパティと静的プロパティ」を参照してください。
[Syntax] (構文)
次の構文は、modify-cluster-parameter-group
コマンドを使用してパラメータを設定する方法を示しています。parameter_group_name
を指定し、parameter_name
と parameter_value
の両方を実際に設定するパラメータとパラメータ値に置き換えます。複数のパラメータを同時に変更する場合は、パラメータと値の各セットをスペースで区切ります。
aws redshift modify-cluster-parameter-group --parameter-group-name
parameter_group_name
--parameters ParameterName=parameter_name
,ParameterValue=parameter_value
例
次の例は、statement_timeout
パラメータグループの enable_user_activity_logging
パラメータと myclusterparametergroup
パラメータを設定する方法を示しています。
読みやすくするため、例は複数行で表示されていますが、実際の AWS CLI では 1 行になります。
aws redshift modify-cluster-parameter-group --parameter-group-name myclusterparametergroup --parameters ParameterName=statement_timeout,ParameterValue=20000 ParameterName=enable_user_activity_logging,ParameterValue=true
コンソールを使用してパラメータグループを作成および管理する 詳細については、「コンソールを使用したパラメータグループの管理」を参照してください。