[Redshift] クエリエディタ v2 の Isolated session 機能を試してみた

2024.04.30

アノテーション、テクニカルサポートチームの村上です。
先日、Redshift クエリエディタ v2 の Isolated session 機能について調べる機会がありました。本機能を有効にしたタブで一時テーブルを作成すると、エディタの他のタブからは一時テーブルを参照することができないようです。

クエリの作成と実行

クエリタブは Isolated session を使用する場合と使用しない場合があります。分離されたセッションでは、あるエディタタブで一時テーブルを作成するなどの SQL コマンドの結果は、別のエディタタブには表示されません。

本記事では、Isolated session 機能を有効にしたタブで一時テーブルを作成して、本当に他のタブから一時テーブルを参照することができないかを確認してみたいと思います。

やってみた

1.Redshift でテーブルを作成する

サンプルデータをロードした状態で Redshift クラスターを作成します。(マネジメントコンソール上で選択可能)


サンプルデータの一つ category テーブルを利用します。

2.Isolated session 機能が有効なクエリエディタ v2 のタブにおいて一時テーブルを作成する

category テーブルから一部のカラムを抜き出して、一時テーブル temp_category を作成します。

temp_category テーブル

3.別タブから 2.で作成した一時テーブル temp_category を参照してみる

一時テーブルを作成したタブとは異なるタブから、一時テーブル temp_category を SELECT してみます。

クエリの対象に指定したテーブルが存在しないという ERROR が発生しました。確かに Isolated session 機能を有効にしたタブで作成した一時テーブルについては、別タブからは参照することができないようです。

4.Isolated session 機能が無効なタブで一時テーブルを作成する

念のため、Isolated session 機能が無効なタブで作成した一時テーブルについては、別タブから参照可能なことを確認しておきます。今度は、テーブル users を利用して一時テーブル temp_users を作成します。

5.別タブから 4.で作成した一時テーブル temp_users を参照してみる

一時テーブルを作成したタブとは異なるタブから、一時テーブル temp_users を SELECT してみます。 確かに Isolated session 機能が無効なタブで作成した一時テーブルについては、別タブから参照することができました。

まとめ

この記事がどなたかのお役に立てば幸いです。

参考資料