RDS for PostgreSQLはDBインスタンスにインストールされたPostgreSQLの設定を適用するためにパラメータグループ機能を提供します。パラメータグループはPostgreSQLを設定できるパラメータの集合です。サービス起動時、すべてのDBエンジンのバージョン別に基本的なパラメータグループを提供します。基本パラメータグループはdefault.{DBエンジンのバージョン名}
として提供され、バージョン別に推奨する基本パラメータ値で構成されています。基本パラメータグループは、一般的なパラメータグループと同じように修正や削除を行うことができます。
必要に応じてパラメータコンソールでパラメータグループを作成できます。パラメータグループはDBエンジンのバージョンごとに作成し、名前を付与することができ、下記のような制約があります。
パラメータグループを作成する際、パラメータは常にデフォルト値で作成されます。既存のパラメータグループを基準に作成するには、パラメータコピー機能を利用してパラメータグループを作成する必要があります。
既存のパラメータグループを基準に新規パラメータグループを作成します。コピーした新規パラメータグループは、元のパラメータグループのパラメータ値で構成されます。オリジナルパラメータグループとコピーしたパラメータグループ間には何の関連関係もなく、オリジナルパラメータグループの変更や削除は、コピーしたパラメータグループに何の影響も与えません。
パラメータグループをリセットすると、すべてのパラメータの値を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インスタンスグループ単位で全体適用することを推奨します。