メニュー
Amazon Redshift
管理ガイド (API Version 2012-12-01)

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 によってプリセットされているため、すべてのパラメータの最初の sourceengine-default です。パラメータ値を変更した後、sourceuser に変わり、値がデフォルト値から変更されたことを示します。

注記

Amazon Redshift console には各パラメータの source は表示されません。source を表示するには、Amazon Redshift API、AWS CLI、またはいずれかの AWS SDK を使用する必要があります。

ユーザーが作成したパラメータグループについては、パラメータ値はいつでも変更できます。またはすべてのパラメータ値をデフォルトにリセットすることもできます。また、異なるパラメータグループをクラスターに関連付けることもできます。既にクラスターに関連付けられているパラメータグループ内のパラメータ値を変更する、または異なるパラメータグループをクラスターに関連付ける場合、更新されたパラメータ値が有効になるようにクラスターを再起動しなければならない可能性もあります。クラスターに障害が発生し、Amazon Redshift により再起動された場合、変更内容はそのときに適用されます。詳細については、「WLM の動的プロパティと静的プロパティ」を参照してください。

デフォルトパラメータ値

次の表はデフォルトパラメータ値の一覧とともに、各パラメータの詳細な情報へのリンクを示しています。これらは redshift-1.0 パラメータグループファミリーのデフォルト値です。

パラメータ名 詳細情報

analyze_threshold_percent

10

Amazon Redshift Database Developer Guide の「analyze_threshold_percent

datestyle

ISO, MDY

Amazon Redshift Database Developer Guide の「datastyle

enable_user_activity_logging

false

このガイドの「データベース監査ログ作成

extra_float_digits

0

Amazon Redshift Database Developer Guide の「extra_float_digits

query_group

デフォルト

Amazon Redshift Database Developer Guide の「query_group

require_ssl

false

このガイドの「接続のセキュリティオプションを設定する

search_path

$user, public

Amazon Redshift Database Developer Guide の「search_path

statement_timeout

0

Amazon Redshift Database Developer Guide の「statement_timeout

wlm_json_configuration

[{"query_concurrency":5}]

このガイドの「ワークロード管理の設定

注記

max_cursor_result_set_size パラメータは廃止されました。カーソル結果セットのサイズの詳細については、Amazon Redshift Database Developer Guideの「カーソルの制約」を参照してください。

データベースで SET コマンドを使用して一時的にパラメータを上書きすることもできます。SET コマンドは、現在のセッションの期間だけパラメータを上書きします。前の表で示されたパラメータに加えて、データベースで wlm_query_slot_count を設定することで、一時的にスロットカウントを調整することもできます。wlm_query_slot_count パラメータは、パラメータグループでの設定に使用することはできません。スロットカウントの調整の詳細については、Amazon Redshift Database Developer Guide の「wlm_query_slot_count」を参照してください。一時的に他のパラメータを上書きする方法の詳細については、Amazon Redshift Database Developer Guide の「サーバー設定の変更」を参照してください。

AWS CLI によるパラメータ値の設定

AWS CLI を使用して Amazon Redshift パラメータを設定するには、特定のパラメータグループの modify-cluster-parameter-group コマンドを使用します。parameter-group-name で、変更するパラメータグループを指定します。parameters パラメータ (modify-cluster-parameter-group コマンドのパラメータ) を使用して、パラメータグループで変更する各パラメータの名前と値のペアを指定します。

注記

AWS CLI を使用して wlm_json_configuration パラメータを設定する際は、特別な考慮事項があります。このセクションの例は、wlm_json_configuration を除くすべてのパラメータに適用されます。AWS CLI による wlm_json_configuration の設定の詳細については、「ワークロード管理の設定」を参照してください。

パラメータ値を変更した後は、変更したパラメータグループに関連付けられているクラスターを再起動する必要があります。値が適用中の間、ParameterApplyStatus のクラスター状態は applying と表示され、値の適用が完了すると pending-reboot になります。再起動後、クラスター内のデータベースは新しいパラメータ値の使用を開始します。クラスターの再起動の詳細については、「クラスターの再起動」を参照してください。

注記

wlm_json_configuration パラメータに含まれる一部のプロパティは動的プロパティであり、関連付けられたクラスターを再起動しなくても変更が適用されます。動的プロパティと静的プロパティの詳細については、「WLM の動的プロパティと静的プロパティ」を参照してください。

構文

次の構文は、modify-cluster-parameter-group コマンドを使用してパラメータを設定する方法を示しています。parameter_group_name を指定し、parameter_nameparameter_value の両方を実際に設定するパラメータとパラメータ値に置き換えます。複数のパラメータを同時に変更する場合は、パラメータと値の各セットをスペースで区切ります。

Copy
aws redshift modify-cluster-parameter-group --parameter-group-name parameter_group_name --parameters ParameterName=parameter_name,ParameterValue=parameter_value

次の例は、myclusterparametergroup パラメータグループの statement_timeout パラメータと enable_user_activity_logging パラメータを設定する方法を示しています。

注記

読みやすくするため、例は複数行で表示されていますが、実際の AWS CLI では 1 行になります。

Copy
aws redshift modify-cluster-parameter-group --parameter-group-name myclusterparametergroup --parameters ParameterName=statement_timeout,ParameterValue=20000 ParameterName=enable_user_activity_logging,ParameterValue=true