Database > RDS for PostgreSQL > パラメータグループ

パラメータグループ

RDS for PostgreSQLはDBインスタンスにインストールされたPostgreSQLの設定を適用するためにパラメータグループ機能を提供します。パラメータグループはPostgreSQLを設定できるパラメータの集合です。サービス起動時、すべてのDBエンジンのバージョン別に基本的なパラメータグループを提供します。基本パラメータグループはdefault.{DBエンジンのバージョン名}として提供され、バージョン別に推奨する基本パラメータ値で構成されています。基本パラメータグループは、一般的なパラメータグループと同じように修正や削除を行うことができます。

パラメータグループの作成

必要に応じてパラメータコンソールでパラメータグループを作成できます。パラメータグループはDBエンジンのバージョンごとに作成し、名前を付与することができ、下記のような制約があります。

  • パラメータグループ名は、リージョンごとに一意でなければなりません。
  • パラメータグループ名は、1~100文字までの英数字、数字、一部の記号(-, _, .)しか使用できず、最初の文字は英数字のみ使用できます。

パラメータグループを作成する際、パラメータは常にデフォルト値で作成されます。既存のパラメータグループを基準に作成するには、パラメータコピー機能を利用してパラメータグループを作成する必要があります。

パラメータグループのコピー

既存のパラメータグループを基準に新規パラメータグループを作成します。コピーした新規パラメータグループは、元のパラメータグループのパラメータ値で構成されます。オリジナルパラメータグループとコピーしたパラメータグループ間には何の関連関係もなく、オリジナルパラメータグループの変更や削除は、コピーしたパラメータグループに何の影響も与えません。

パラメータグループのリセット

パラメータグループをリセットすると、すべてのパラメータの値をDBエンジンバージョンのデフォルト値に変更します。

パラメータグループの適用

DBインスタンスの作成または修正時、DBインスタンスに適用するパラメータグループを選択できます。一つのDBインスタンスに一つのパラメータグループが適用され、一つのパラメータグループは複数のDBインスタンスに適用できます。パラメータグループのパラメータが変更されると、その変更内容はすぐにDBインスタンスに適用されません。接続されたDBインスタンスが存在する場合、パラメータグループは「適用必要」状態に変更されます。DBインスタンスリスト画面でパラメータグループと連結されたDBインスタンスを選択した後、パラメータグループの変更内容適用をクリックしてパラメータの変更をDBインスタンスに反映できます。接続されたすべてのDBインスタンスにパラメータグループの変更が適用されると、パラメータグループは「適用完了」状態に変更されます。

[注意] 再起動が必要なパラメータが変更された場合、適用過程でDBインスタンスが再起動されます。

パラメータグループの比較

コンソールで異なる2つのパラメータグループを選択した後、比較をクリックすると、パラメータが何が違うのかを確認できます。同じDBエンジンだけでなく、異なるDBエンジンバージョンのパラメータグループも比較できます。

パラメータグループの削除

DBインスタンスに適用中のパラメータグループを除けば、自由に削除できます。DBインスタンスに適用しているパラメータグループを削除するには、削除する前に接続されたすべてのDBインスタンスのパラメータグループを先に変更する必要があります。

パラメータ

パラメータは下記のような情報を含んでいます。

項目 説明
名前 オプションファイル(postgresql.conf)のオプション名です。
パラメータに適用する値です。
許可された値 パラメータに適用できる値の範囲です。
適用タイプ 固定動的に分けられます。
固定の場合、パラメータ変更事項を適用するにはDBインスタンスを再起動する必要があります。
動的の場合、DBインスタンスを再起動することなくすぐにパラメータが適用されます。
データ形式 パラメータ値の形式を示します。
数式使用 数式の使用可否を示します。

パラメータ変数、数式及び関数

特定のパラメータは、固定された値を使うより、DBインスタンスと関連付けられた値を利用した数式で表現する方が良い場合があります。これをサポートするために、NUMERICデータ形式については、あらかじめ定義された変数、数式、および関数を使用できます。

  • 数式
    • (), +, -, *, /が使用できます。
    • 数式の結果は常に数値でなければなりません。
    • データ形式がNUMERICの場合、小数点以下9桁に丸められます。
  • 関数
    • max(a, b, ...):複数の値のうち最大値を返します。
    • min(a, b, ...):複数の値のうち最小値を返します。
    • sum([a, b, ...]):複数の値の合計を返します。
  • 変数
    • ramSizeByte:現在DBインスタンスタイプのメモリサイズのバイト値を表します。
    • storageSizeByte:現在DBインスタンスデータストレージサイズのバイト値を表します。
    • vCPU:現在のDBインスタンスタイプの仮想CPUコア数を表します。
    • dbPort:現在のDBインスタンスのDBポートを表します。
    • serverId:現在のDBインスタンスに付与したサーバーIDを表します。

下記の例は、DBインスタンスタイプのメモリサイズの6/10サイズに設定することを表します。

ramSizeByte * 6 / 10

パラメータの変更

コンソールでパラメータグループを選択した後、パラメータ編集をクリックしてパラメータを変更できます。変更できないパラメータは、値がプレーンテキストで表示され、変更できるパラメータは、値を変更できるINPUTが表示されます。編集画面で変更内容プレビューをクリックすると、変更されたパラメータを確認できる別のポップアップウィンドウが表示され、リセットを押すと、変更する前に戻すことができます。編集モードで変更したすべての値は、変更内容を保存をクリックすると、パラメータグループに反映されます。変更されたパラメータグループのDBインスタンスの反映はパラメータグループの適用項目を参照してください。

max_connectionsパラメータ変更

リードレプリカが追加された状態でmax_connectionsの値を変更する場合は、適用順序によって問題が発生することがあります。マスターの値がリードレプリカより小さい値に設定されなければならないので、マスターの値だけを変更する場合、リードレプリカより大きい値に適用することができません。同じ理由で、リードレプリカの値だけを変更する場合、マスターより小さい値に適用することができません。必要な場合、DBインスタンスグループ単位で全体適用することを推奨します。

TOP