DB パラメータの指定 - Amazon Relational Database Service

DB パラメータの指定

DB パラメータの種類には、次のものがあります。

  • 整数

  • ブール値

  • 文字列

  • Long

  • ダブル

  • タイムスタンプ

  • 他の定義されたデータ型オブジェクト

  • 整数、ブール値、文字列、長整数、倍精度、タイムスタンプ、オブジェクト型の値の配列

表現、数式、関数を使用して、整数およびブール型パラメータを指定することもできます。

Oracle エンジンの場合は、DBInstanceClassHugePagesDefault 式変数を使用して、ブール型 DB パラメータを指定します。「DB パラメータ式の変数」を参照してください。

PostgreSQL エンジンでは、式を使用してブール型 DB パラメータを指定できます。「ブール型 DB パラメータ式」を参照してください。

DB パラメータ式

DB パラメータ式は整数値に解決される式あるいはブール値です。式は中かっこ {} で囲みます。式は、DB パラメータ値、またはDB パラメータ関数の引数として使用できます。

構文
{FormulaVariable} {FormulaVariable*Integer} {FormulaVariable*Integer/Integer} {FormulaVariable/Integer}

DB パラメータ式の変数

各式の変数は整数あるいはブール値を返します。変数名では大文字と小文字が区別されます。

AllocatedStorage

データボリュームのサイズ (バイト単位) を表す整数を返します。

DBInstanceClassHugePagesDefault

ブール値を返します。現在のところ、これは Oracle エンジンのみでサポートされています。

詳細については、「Oracle DB インスタンスの HugePages の有効化」を参照してください。

DBInstanceClassMemory

データベースプロセスに対し、使用可能なメモリのバイト数を整数で返します。この数値は、DB インスタンスクラスの合計メモリ量から、インスタンスを管理する RDS プロセスとオペレーティングシステム用に予約されているメモリ量を減算することによって内部的に計算されます。したがって、この数値は、「 DB インスタンスクラス」のインスタンスクラステーブルに示されているメモリ値よりも、常にやや低くなります。正確な値は、インスタンスクラスと DB エンジンの組み合わせの影響を受けます。また、この値が適用されるのが RDS インスタンスなのか、Aurora クラスターに含まれているインスタンスなのかによっても異なります。

DBInstanceVCPU

Amazon RDS がインスタンスの管理に使用する仮想中央演算装置 (vCPU) の数を表す整数を返します。現時点では、PostgreSQL エンジンでのみサポートされています。

EndPointPort

DB インスタンスに接続するときに使用されるポートを表す整数を返します。

DB パラメータ式の演算子

DB パラメータ式では、2 つ演算子 (除算と乗算) がサポートされています。

除算演算子: /

被除数を除数で割り、整数の商を返します。商の小数部分は四捨五入されず切り捨てられます。

構文

dividend / divisor

被除数と除数の引数は整数式である必要があります。

乗算演算子: *

式を乗算し、式の積を返します。式の小数部分は四捨五入されず切り捨てられます。

構文

expression * expression

両方の式は整数である必要があります。

DB パラメータ関数

DB パラメータ関数の引数は、整数または数式で指定します。各関数には 1 つ以上の引数が必要です。複数の引数をカンマ区切りのリストで指定します。リストには、argument1,,argument3 など、空のメンバーを使用することはできません。関数名では大文字と小文字は区別されません。

IF

引数を返します。

現在のところ、これは Oracle エンジンに対してのみサポートされ、最初の引数が {DBInstanceClassHugePagesDefault} の場合のみサポートされています。詳細については、「Oracle DB インスタンスの HugePages の有効化」を参照してください。

構文

IF(argument1, argument2, argument3)

最初の引数が true と評価する場合に、2 番目の引数を返します。それ以外の場合には、3 番目の引数を返します。

GREATEST

整数またはパラメータ式のリストから最大値を返します。

構文

GREATEST(argument1, argument2,...argumentn)

整数を返します。

LEAST

整数またはパラメータ式のリストから最小値を返します。

構文

LEAST(argument1, argument2,...argumentn)

整数を返します。

SUM

指定した整数またはパラメータ式の値を加算します。

構文

SUM(argument1, argument2,...argumentn)

整数を返します。

ブール型 DB パラメータ式

ブール型 DB パラメータ式は、ブール値 1 または 0 に解決されます。式は引用符で囲みます。

注記

ブール型 DB パラメータ式は、PostgreSQL エンジンでのみサポートされています。

構文
"expression operator expression"

どちらの式も整数に解決する必要があります。式には、次のものがあります。

  • 整数定数

  • DB パラメータ式

  • DB パラメータ関数

  • DB パラメータ変数

ブール型 DB パラメータ式は、次の不等号演算子をサポートしています。

より大きい演算子: >

構文

"expression > expression"
より小さい演算子: <

構文

"expression < expression"
より大きいか等しい演算子: >=、=>

構文

"expression >= expression" "expression => expression"
より小さいか等しい演算子: <=、=<

構文

"expression <= expression" "expression =< expression"

例 ブール型 DB パラメータ式の使用

次のブール型 DB パラメータ式の例では、パラメータ式の結果を整数と比較して、PostgreSQL DB インスタンスのブール型 DB パラメータ wal_compression を変更します。パラメータ式は、vCPU の数と値 2 を比較します。仮想 CPU の数が 2 より大きい場合、wal_compression DB パラメータが true に設定されます。

aws rds modify-db-parameter-group --db-parameter-group-name group-name \ --parameters "ParameterName=wal_compression,ParameterValue=\"{DBInstanceVCPU} > 2\" "

DB パラメータログ式

整数 DB パラメータ値をログ式に設定できます。式は中かっこ {} で囲みます。次に例を示します。

{log(DBInstanceClassMemory/8187281418)*1000}

log 関数はログベース 2 を表します。この例では、DBInstanceClassMemory 数式変数も使用しています。「DB パラメータ式の変数」を参照してください。

注記

現在、MySQLinnodb_log_file_sizeパラメーターを整数以外の値で指定することはできません。

DB パラメータ値の例

これらの例は、DB パラメータの値に対して数式、関数、および式を使用していることを示しています。

注記

DB パラメータ関数は現在、コンソールでのみサポートされており、AWS CLI ではサポートされていません。

警告

DB パラメータグループのパラメータを不適切に設定すると、意図しない悪影響が生じる可能性があります。これには、パフォーマンスの低下やシステムの不安定化が含まれます。データベースパラメータの変更時には注意が必要です。DB パラメータグループの変更前にはデータをバックアップしてください。パラメータグループの変更は、テスト DB インスタンス (ポイントインタイム復元を使用して作成) で試してから、本番稼働用 DB インスタンスに適用してください。

例 DB パラメータ関数 GREATEST の使用

Oracle プロセスパラメータで GREATEST 関数を指定できます。これを使用して、ユーザープロセスの数を 80、 または DBInstanceClassMemory を 9,868,951 で割った値の大きい方に設定します。

GREATEST({DBInstanceClassMemory/9868951},80)

例 DB パラメータ関数 LEAST の使用

MySQL LEAST パラメータ値で max_binlog_cache_size 関数を指定できます。これを使用して、トランザクションが MySQL インスタンスで使用できる最大キャッシュサイズを 1MB または DBInstanceClass/256 のいずれか小さい方に設定します。

LEAST({DBInstanceClassMemory/256},10485760)