はじめに

Verticaのパラメータに関するトピックスをご紹介します。

Verticaのパラメータの階層レベル

Verticaのパラメータは、次のような3つの階層レベルに分けられています。

・DATABASE
 データベースに有効なパラメータ
・NODE
 ノードに有効なパラメータ
・SESSION
 セッションに有効なパラメータ

Verticaのパラメータ確認方法

Verticaのパラメータ確認方法には2つの方法があります。

・SHOWコマンドを使う方法
・システムテーブルをSELECTする方法

これらの方法には、次のような特徴があります。

SHOWコマンドを使う方法

SHOWコマンドを使う方法では、階層レベルを指定して確認する事ができます。 
・SHOW DATABASE データベース名 パラメータ名 | all ;
・SHOW NODE ノード名 パラメータ名 | all ;
・SHOW SESSION パラメータ名 | all ;
・SHOW CURRENT パラメータ名 | all ;
 4つ目のSHOW CURRENTの場合はすべての階層レベルのパラメータを表示しますが、表示に際して規則があります。
 以下の順序に従って階層を参照し、有効なパラメータとして最初に該当したものを表示します。
 どの階層にも該当しなければ、デフォルト値を表示します。
 1. SESSION
 2. NODE
 3. DATABASE
 4. デフォルト値

システムテーブルをSELECTする方法

パラメータに関するシステムテーブルは以下の2種類があります。
・CONFIGURATION_PARAMETERS
 階層レベルが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回のコマンドで複数のパラメータを変更したい場合は,(カンマ)で区切って実行します。
ALTER DATABASE データベース名 SET パラメータ名A = 値 , パラメータ名B = 値;

Verticaパラメータのクリア

Verticaのパラメータのクリアには、ALTER CLEARコマンドを使います。

・データベースレベルの階層のパラメータをクリアする場合
ALTER DATABASE データベース名 CLEAR パラメータ名 ;

・ノードレベルの階層のパラメータをクリアする場合
ALTER NODE ノード名 CLEAR パラメータ名 ;

・セッションレベルの階層のパラメータをクリアする場合
ALTER SESSION CLEAR パラメータ名 ;

ちなみに、1回のコマンドで複数のパラメータをクリアしたい場合は,(カンマ)で区切って実行します。
ALTER DATABASE データベース名 CLEAR パラメータ名A, パラメータ名B;

Verticaのパラメータ変更時に「してはいけない事」

Vertica 7.1の環境では、次の操作による変更は禁止されています。

・vertica.confの手動による編集
・vertica.confの同期(コピーなど)
※パラメータの値はvertica.confだけでなく、データベース・カタログにも保管されています。

検証バージョンについて

この記事の内容はVertica 7.1で確認しています。