はじめに
本記事では、セッションのランタイムパラメータについて紹介します。
ランタイムパラメータを利用することで、処理を実行した際の動作を変更することができます。
ランタイムパラメータの変更は、接続したセッションでのみ有効になります。
ランタイムパラメータの一覧
| パラメータ | 内容 |
|---|---|
| ALL | 全てのランタイムパラメータの設定値を表示します。 |
| AUTOCOMMIT | on/offで表示されます。 処理が完了した時にトランザクションを自動的にコミットするかどうかを表示します。 |
| AVAILABLE ROLES | ユーザーが使用できるすべてのロールを表示します。 |
| DATESTYLE | 日付値のスタイルを表示します。 |
| ENABLED ROLES | 現在のセッションで有効なロールを表示します。 |
| ESCAPE_STRING_WARNING | on/offで表示されます。 文字列にバックスラッシュエスケープが見つかったときに警告を発行するかどうかを表示します。 |
| IDLESESSIONTIMEOUT | セッションがタイムアウトするまでにアイドル状態でいられる時間を表示します。 |
| INTERVALSTYLE | INTERVALを指定した場合の表示方法を表示します。 |
| LOCALE | 現在のロケールを表示します。 |
| MEMORYCAP | 処理が使用するメモリの最大量を表示します。 |
| MULTIPLEACTIVERESULTSETS | on/offで表示されます。 1つの接続で複数のアクティブな結果セットが許可されるかどうかを表示します。 |
| RESOURCE POOL | セッションが使用しているリソースプールを表示します。 |
| RUNTIMECAP | セッションでクエリを実行できる最大時間を表示します。 |
| SEARCH_PATH | Verticaがスキーマを検索する順序を表示します。 |
| STANDARD_CONFORMING_STRINGS | セッションでバックスラッシュエスケープが有効かどうかを表示します。 |
| TEMPSPACECAP | クエリがセッションで使用できる一時ファイル領域の最大量を表示します。 |
| TIMEZONE | 現在のセッションで設定されたタイムゾーンを表示します。 |
| TRANSACTION_ISOLATION | 現在のトランザクション分離設定を表示します。 |
| TRANSACTION_READ_ONLY | true/falseで表示されます。 現在の読み取り専用設定を表示します。 |
実行例
ランタイムパラメータの確認
dbadmin=> show all;
name | setting
-----------------------------+-----------------------------------------------------------
locale | en_US@collation=binary (LEN_KBINARY)
autocommit | off
standard_conforming_strings | on
escape_string_warning | on
multipleactiveresultsets | off
datestyle | ISO, MDY
intervalstyle | plain
timezone | Asia/Tokyo
search_path | "$user", public, v_catalog, v_monitor, v_internal, v_func
transaction_isolation | READ COMMITTED
transaction_read_only | false
resource_pool | general
memorycap | UNLIMITED
tempspacecap | UNLIMITED
runtimecap | UNLIMITED
idlesessiontimeout | UNLIMITED
graceperiod | UNLIMITED
enabled roles | dbduser*, dbadmin*, pseudosuperuser*
available roles | dbduser*, dbadmin*, pseudosuperuser*
(19 rows)ランタイムパラメータの変更
# インターバルの表示設定を変更
dbadmin=> SET INTERVALSTYLE TO PLAIN;
SET
dbadmin=> SELECT INTERVAL '3 2';
?column?
----------
3 02:00 ★ INTERVALSTYLEがPLAINの場合の表示
(1 row)
dbadmin=> SET INTERVALSTYLE TO UNITS;
SET
dbadmin=> SELECT INTERVAL '3 2';
?column?
----------------
3 days 2 hours ★ INTERVALSTYLEがUNITSの場合の表示
(1 row)※”available roles”以外のランタイムパラメータは変更することができます。
制限事項
ランタイムパラメータの”available roles”は、ユーザに割り当てられたロールであるため変更できません。
割り当てられたロールを制限する場合は、”enabled roles”で設定を行ってください。
検証バージョンについて
この記事の内容はVertica 9.2で確認しています。
更新履歴
2019/12/12 本記事を公開