はじめに
本記事では、セッションのランタイムパラメータについて紹介します。ランタイムパラメータを利用することで、処理を実行した際の動作を変更することができます。
ランタイムパラメータの変更は、接続したセッションでのみ有効になります。
ランタイムパラメータの一覧
| パラメータ | 内容 | 
|---|---|
| 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で表示されます。 現在の読み取り専用設定を表示します。 | 
実行例
ランタイムパラメータの確認
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | 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) | 
ランタイムパラメータの変更
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # インターバルの表示設定を変更 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”で設定を行ってください。


