はじめに
Verticaのパラメータに関するトピックスをご紹介します。
Verticaのパラメータの階層レベル
Verticaのパラメータは、次のような3つの階層レベルに分けられています。
データベースに有効なパラメータ
・NODE
ノードに有効なパラメータ
・SESSION
セッションに有効なパラメータ
Verticaのパラメータ確認方法
Verticaのパラメータ確認方法には2つの方法があります。
・システムテーブルをSELECTする方法
これらの方法には、次のような特徴があります。
SHOWコマンドを使う方法
SHOWコマンドを使う方法では、階層レベルを指定して確認する事ができます。
・SHOW NODE ノード名 パラメータ名 | all ;
・SHOW SESSION パラメータ名 | all ;
・SHOW CURRENT パラメータ名 | all ;
4つ目のSHOW CURRENTの場合はすべての階層レベルのパラメータを表示しますが、表示に際して規則があります。
以下の順序に従って階層を参照し、有効なパラメータとして最初に該当したものを表示します。
どの階層にも該当しなければ、デフォルト値を表示します。
2. NODE
3. DATABASE
4. デフォルト値
システムテーブルをSELECTする方法
パラメータに関するシステムテーブルは以下の2種類があります。
階層レベルがDATABASEとNODEレベルのパラメータ情報を格納
・SESSION_PARAMETERS
階層レベルがSESSIONレベルのパラメータ情報を格納
システムテーブルをSELECTする方法では、パラメータの変更を有効にするためにVerticaの再起動が必要かどうかの確認や、パラメータの目的なども参照する事ができます。
これらのシステムテーブルのカラムの詳細については、マニュアルをご参照ください(英語マニュアル)。
CONFIGURATION_PARAMETERSのカラムはこちら
SESSION_PARAMETERSのカラムはこちら
Verticaのパラメータ変更方法
Verticaのパラメータを変更するには、ALTER SETコマンドを使います。
従来の方法(Vertica 7.1よりも前のバージョン)の「SET_CONFIG_PARAMETER(パラメータ名, 値)」の方法もありますが、現在のマニュアルではALTER SETコマンドの方法が推奨されています。
ALTER DATABASE データベース名 SET パラメータ名 = 値 ;・ノードレベルの階層のパラメータを変更する場合
ALTER NODE ノード名 SET パラメータ名 = 値 ;・セッションレベルの階層のパラメータを変更する場合
ALTER SESSION SET パラメータ名 = 値 ;
ちなみに、1回のコマンドで複数のパラメータを変更したい場合は,(カンマ)で区切って実行します。
Verticaパラメータのクリア
Verticaのパラメータのクリアには、ALTER CLEARコマンドを使います。
ALTER DATABASE データベース名 CLEAR パラメータ名 ;・ノードレベルの階層のパラメータをクリアする場合
ALTER NODE ノード名 CLEAR パラメータ名 ;・セッションレベルの階層のパラメータをクリアする場合
ALTER SESSION CLEAR パラメータ名 ;
ちなみに、1回のコマンドで複数のパラメータをクリアしたい場合は,(カンマ)で区切って実行します。
Verticaのパラメータ変更時の注意点
Verticaでは、次の操作による変更は推奨されません。
・vertica.confの同期(コピーなど)
※パラメータの値はvertica.confだけでなく、データベース・カタログにも保管されています。
参考情報
SET_CONFIG_PARAMETER
https://my.vertica.com/docs/9.1.x/HTML/index.htm#Authoring/SQLReferenceManual/Statements/SET/SET_CONFIG_PARAMETER.htm
検証バージョンについて
この記事の内容はVertica 9.1で確認しています。