はじめに

Vertica8.0より、データベースユーザ単位で以下の制御ができるようになりました。

・接続セッションの最大数を設定
・接続セッションのアイドルタイムアウト時間を設定
・接続セッションを切断

本記事では、上記機能の利用方法についてご紹介します。

接続セッションの最大数を設定する

ユーザ毎のセッション最大数は、CREATE USER文やALTER USER文のオプションであるMAXCONNECTIONSにて設定するこができます。
構文

実行例
u1という新規ユーザの最大接続数をデータベース全体で1に設定する

MAXCONNECTIONSに設定した値を超えるセッション数で接続しようとしたときのエラー例

接続セッションのアイドルタイムアウト時間を設定する

ユーザ毎の接続セッションのアイドルタイムアウト時間は、CREATE USER文やALTER USER文のオプションであるIDLESESSIONTIMEOUTにて設定するこができます。
構文

実行例
u2という新規ユーザのセッションアイドルタイムアウトとなる時間を30秒に設定する

IDLESESSIONTIMEOUTに設定した値を超えるアイドルタイムが経過した後にクエリを実行しようとしたときのエラー例

接続セッションを切断する

CLOSE_USER_SESSIONS関数は特定ユーザの接続セッションを切断できます。
構文

実行例
u1ユーザのセッションをすべて切断する

参考情報

Managing Client Connections
https://my.vertica.com/docs/9.2.x/HTML/index.htm#Authoring/AdministratorsGuide/ManagingClientConnections/OverviewClientConnections.htm

CREATE USER
https://my.vertica.com/docs/9.2.x/HTML/index.htm#Authoring/SQLReferenceManual/Statements/CREATEUSER.htm

ALTER USER
https://www.vertica.com/docs/9.2.x/HTML/Content/Authoring/SQLReferenceManual/Statements/ALTERUSER.htm

CLOSE_USER_SESSION
https://www.vertica.com/docs/9.2.x/HTML/Content/Authoring/SQLReferenceManual/Functions/VerticaFunctions/CLOSE_USER_SESSIONS.htm

検証バージョンについて

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

更新履歴

2019/04/15 検証バージョンを9.2に変更
2016/12/11 本記事を公開