はじめに

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では、次の操作による変更は推奨されません。
・vertica.confの手動による編集
・vertica.confの同期(コピーなど)
※パラメータの値はvertica.confだけでなく、データベース・カタログにも保管されています。

参考情報

ALTER DATABASE
https://my.vertica.com/docs/9.1.x/HTML/index.htm#Authoring/SQLReferenceManual/Statements/ALTERDATABASE.htm%3FTocPath%3DSQL%2520Reference%2520Manual%7CSQL%2520Statements%7C_____3

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で確認しています。